IT-инфраструктура штабов Навального и сбор подписей: подготовка к сбору, сайт «Навальный 20!8»

    Cерия публикаций про сбор подписей

    1. Введение, сайт «Навальный 20!8», подготовка к сбору
    2. Железо и сети, видеонаблюдение
    3. Жнец-2018: система для сбора подписей
    4. Управление проектом

    Введение


    Это рассказ о том, как устроена IT-инфраструктура региональных штабов Алексея Навального и система для сбора подписей в поддержку его выдвижения кандидатом в президенты России.



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

    Для удобства материал разбит на четыре поста, которые лучше читать последовательно.

    Это технический материал, но многие вопросы, которые здесь обсуждаются, непонятны без минимального знания современного политического контекста, поэтому он в необходимой мере описан. Если вас по каким-то причинам пугает слово «Навальный» (оно встретится еще несколько раз) или упоминание демократических институтов, просто не читайте этот текст. В комментариях политические вопросы обсуждаться не будут.

    Цель кампании


    Регистрация Алексея Навального кандидатом в президенты.

    Задачи, поставленные перед IT-отделом


    (в хронологическом порядке):

    — Предварительная регистрация всех, кто готов поставить подпись за выдвижение нашего кандидата;
    — Обеспечение работы сети штабов по всей России;
    — Создание системы для сбора 315 тысяч идеальных подписей.


    Исторический и политический контекст


    Если у вас нет парламентской партии, то для участия в выборах вам нужно собирать подписи. Это заградительная процедура, которую используют, чтобы не пускать на выборы «несогласованных» кандидатов.

    Бесконечные возможности для отказа в регистрации заложены на уровне правил сбора:

    • Сбор подписей жестко ограничен по времени;
    • На брак по закону отводится небольшой процент от необходимого количества подписей, нельзя сдать подписи с хорошим запасом;
    • Невозможно на своей стороне проверить подписи, т. к. данные избирателей должны соответствовать базе ФМС, доступ к которой есть только у государственных органов;
    • Графолог при проверке в ЦИК может забраковать любую подпись и не несет юридической ответственности в случае ошибки;
    • Сама схема проверки предполагает, что будет значительный процент ложных срабатываний (парадокс теоремы Байеса как заградительный барьер на выборах).




    Мы уже сталкивались с этим в Новосибирске, когда собирали подписи для участия в выборах в Законодательное собрание.



    Для сбора подписей в Новосибирске мы создали систему Жнец, которая была ориентирована на сбор подписей «в поле» и на кубах, управляла маршрутами сборщиков, учитывала все подписные листы и позволяла ранжировать подписи по результатам различных проверок.

    Сборщики в Новосибирске принесли более 16 тысяч подписей, из которых мы выбрали и сдали самые лучшие 11 722. Несмотря на жесткий отбор, рабочая группа избирательной комиссии выявила множество «недействительных подписей», а избирательная комиссия отказала кандидатам в регистрации. Подробнее о том, по каким абсурдным причинам подписи признаются недействительными, читайте здесь.

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


    Особенности нового сбора подписей


    Для сбора подписей за выдвижение кандидата в президенты установлены еще более жесткие условия:

    — Необходимо сдать не более 315 тысяч подписей;
    — Не менее 300 тысяч подписей должны быть признаны действительными;
    — От одного региона засчитывается не более 7500 подписей;
    — На короткий период сбора (с 27 декабря по 31 января) приходятся продолжительные новогодние праздники, когда многие уезжают в отпуск.

    Учитывая предыдущий опыт и новые требования, мы приняли следующие базовые принципы.


    Всероссийская сеть штабов


    Из-за региональных квот нельзя было вести работу, скажем, в десяти крупнейших городах. 315 тысяч подписей можно было собрать, если охватить не менее 40 городов. В малонаселенных регионах собирать подписи сложнее, поэтому на практике для успешного сбора нужно было открыть штабы в большинстве регионов страны.



    Прогноз по количеству подписей на момент успешного завершения сбора показывает, что в крупных городах количество желающих поставить подпись значительно превысило бы региональные квоты. Москва (127 тысяч) и Питер (63 тысяч) не влезли на экран.


    Сбор подписей только в штабах


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

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

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


    Многоступенчатая проверка подписей


    Идеальные подписи — это математическая абстракция. Настоящий сбор подписей — сложный и тяжёлый процесс. Даже честные и хорошо подготовленные сборщики допускают ошибки, а в условиях нехватки времени, административного давления и провокаций брака будет еще больше.

    У нас есть много данных о том, как появляются ошибки. По нашему опыту, в подписных листах, собранных совершенно честным образом, будет около 10% подписей, которые избирком признает недействительными.

    Мы должны были сдать не просто хорошие подписи, а подписи, которые примет избирком. Для этого были необходимы несколько этапов проверки и механизм ранжирования — чтобы отобрать и сдать только те подписи, которые с наибольшей вероятностью прошли бы проверки избиркома, какими бы абсурдными мы их ни считали.


    Скан паспорта для каждой подписи


    Без скана вся ответственность за качество подписи лежит на сборщике. Если он случайно или намеренно ошибся в номере паспорта, мы этого никогда не узнаем.

    По опыту мы выяснили, что только ошибки переписывания паспортных данных в подписной лист и ошибки ввода данных легко исчерпывают допустимый 5% лимит, даже если подписи собираются в комфортных условиях и добросовестными сборщиками.

    Имея скан документа, мы могли провести несколько независимых этапов проверки подписи и внести исправления.

    Кроме того, наши юристы готовились бороться за каждую подпись в суде. В прошлый раз была большая категория забракованных подписей, про которые мы точно знали: подпись соответствует паспорту, но проверяли ее по устаревшей и полной ошибок базе. Единая база данных и наличие сканов позволили бы юристам автоматизировать процесс подготовки жалоб по подобным случаям.

    Конечно, сканировать паспорт можно было только в штабах, иначе нельзя было обеспечить достаточный уровень безопасности персональных данных.


    Синхронизация с электронной базой данных


    Все операции с подписями и подписными листами, все статусы и перемещения должны были отражаться в электронной базе данных. Система сбора подписей должна была контролировать все этапы сбора и выявлять ошибки. Только так мы сохранили бы порядок (и душевное равновесие) при работе с сотнями тысяч физических объектов.


    Что было сделано в новой версии системы


    • Чтобы нам было где собирать подписи, мы развернули сеть региональных штабов. IT-инфраструктура штабов состоит из нескольких физических серверов, ряда виртуалок, 70 роутеров, 230 камер и 189 укомплектованных рабочих станций. Изнутри системой одновременно пользуются более 250 человек.
    • Чтобы за короткий период сбора успеть привести в штабы несколько сотен тысяч человек, мы заранее начали регистрацию избирателей на сайте 20!8, где они предварительно подтверждали свои данные.
    • Чтобы снизить количество ошибок, мы сделали систему, позволяющую проводить независимые проверки правильности заполнения подписного листа. Система состоит из нескольких веб-приложений и мобильного приложения под две платформы.
    • Чтобы загрузить данные в систему, мы собрали (и частично изготовили) комплект оборудования для сканирования паспортов, продумали схему безопасной передачи персональных данных и внедрили ее во всех штабах.
    • Чтобы форматирование адреса было корректным с точки зрения избиркома, мы подняли поиск по базе ФИАС и вместе с юристами серьезно повозились с ней, чтобы учесть все требования закона.
    • Чтобы (частично) обезопасить штабы и иметь дополнительные аргументы в судах, мы наладили круглосуточную систему видеонаблюдения и записи.
    • Чтобы протестировать инфраструктуру, механику, уточнить данные и подготовить штабы к сбору, мы провели большую процедуру предварительной верификации избирателей, через которую прошло 81 750 человек.
    • Мы разработали внешний вид подписного листа, систему логистики листов в штабах, а также систему физического хранения и быстрого доступа для центрального штаба.


    Основные технологии наших веб-приложений


    Основной язык бэкенда: Python.
    Фронтенд: JavaScript, jQuery, React, D3.js.
    Фреймворки: Django (6 шт), aiohttp (1 шт).
    Базы данных: PostgreSQL, Redis и другие.
    Полнотекстовый поиск: Sphinx.
    HTTP-сервер: Nginx, Varnish.
    Тестирование: Jenkins, Browserstack, RobotFramework, Locust.
    Мониторинг: Zabbix, Elasticsearch, Kibana, Sentry.
    Деплой: Ansible и другие инструменты.
    Управление конфигурацией сервера: Chef.


    Часть первая: сайт «Навальный 20!8»


    Нам предстояло привести в штабы несколько сотен тысяч человек в очень ограниченный промежуток времени. Для этого мы начали регистрацию сторонников прямо в день старта кампании. Рекрутинг и регистрация сторонников — одна из основных задач сайта «Навальный 20!8», поэтому форма регистрации есть почти на каждой странице.

    Так как все это нужно не просто ради красивых цифр, нам важно было знать, что зарегистрировавшиеся сторонники — это настоящие люди, а не боты, уметь поддерживать с ними связь и понимать, в каком городе они прописаны (чтобы прогнозировать выполнение квот по регионам). Поэтому регистрация на сайте была довольно сложной и с обязательным подтверждением номера телефона. Чтобы не обманывать себя и других, в потенциальных подписантов мы записывали только людей, которые заполнили анкету целиком и подтвердили свой телефон. Поэтому на главной странице вместо миллиона с лишним (общее количество регистраций) у нас сейчас только 706 513 «будущих подписей».

    С точки зрения сайтостроения это довольно рядовой продукт. Сайт сделан на Python + Django + PostgreSQL, используются стандартный ORM и стандартная админка. За полтора года сайт пережил несколько обновлений: добавлялись разделы, менялась работа формы регистрации, менялись тексты и изображения на страницах. Мы старались не усложнять дизайн, чтобы можно было верстать стандартными блоками, благодаря чему некоторые разделы проходили путь от идеи до запуска за три дня.

    На любой современный сайт примерно половина посетителей заходит с мобильных устройств. Мы старались сделать сайт удобным для всех, поэтому макеты рисовались и верстались для корректного отображения на любой ширине экрана, начиная от 320px.




    Карта штабов


    Единственный сложный интерактивный элемент, который видят посетители, — карта России с отмеченными на ней штабами. Когда количество штабов перевалило за 50, ориентироваться по карте стало сложно из-за близкого расположения маркеров в европейской части страны. Изначально карта задумывалась как чисто декоративный элемент, но внезапно наполнилась функционалом, поэтому для тех, кто уже оценил федеральность кампании и просто хочет найти свой город, мы сделали режим списка.



    Карта сделана с использованием прекрасной и многогранной библиотеки d3.js. Писать свой скрипт, а не использовать стандартные Google Maps или Яндекс.Карты мы решили из-за картографической проекции. Есть множество способов сделать развертку эллипсоида Земли на плоскости. В проекции Меркатора объекты сильно растягиваются на северных широтах, а нам нужно больше места в тех районах, где сосредоточены основные крупные города. Кроме того, в проекции Меркатора Россия выглядит довольно странно. Мы выбрали более привычную по учебникам географии коническую проекцию Альберса (Albers-Siberia).


    Россия здорового человека (коническая проекция Альберса) и Россия курильщика (проекция Меркатора)


    Управление контентом


    Редакторский раздел сайта мало чем интересен. Используется обычная админка Django с минимальной кастомизацией. При ограниченных разработческих ресурсах выгоднее научить нескольких пользователей админки пользоваться стандартным инструментом, чем тратить время на создание действительно удобного.

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

    Для работы со сложным контентом постов и новостей мы используем блочный редактор, который тоже используется на многих других проектах:



    Блоки бывают разных типов, на каждом проекте свой набор. Каждый блок содержит контент и может содержать настройки. Данные блоков хранятся в базе в виде json, а разметка внутри текстового блока хранится в формате markdown.

    Для отображения блоки преобразуются в нужный формат: HTML для поста, текст для индексирования, RSS или XML для Яндекс.Дзена, JSON для мобильного приложения и так далее. Таким образом мы получаем предсказуемый результат на любом устройстве при достаточно сложном форматировании контента.

    Первая версия была основана на коде Sir Trevor. Позже, когда поддерживать спагетти-код Sir Trevor стало тяжело, редактор был переписан на React.


    Аналитика


    Самое интересное с технической точки зрения происходит в админке сайта. Оттуда мы наблюдали за потоком регистраций.

    Первое время аналитика была довольно примитивной: графики количества регистраций разного типа от времени. Но нам хотелось видеть динамику по регионам и отслеживать влияние различных событий на число регистраций. Так появилась Долгожданная аналитика:

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



    График сделан на d3.js, а фильтрация событий по времени и штабу реализована с использованием библиотеки Crossfilter. Это решение позволяет на клиентской стороне без тормозов интерфейса оперировать данными о регистрациях на интервале больше года с шагом 1 час. На данный момент это 12 мегабайт данных (1,3 Мб в gzip).

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


    Город и регион


    Еще у нас есть огромная таблица, где для каждого региона России прописаны основные показатели подготовки к сбору подписей:



    Числа в этой таблице первое время не хотели сходиться. Сумма по городам была значительно меньше количества регистраций. Оказалось, что при заполнении анкеты на сайте люди неожиданно часто ошибаются в названии своего города или используют нестандартные названия:

    — Москва — 2,5% ошибок и 579 вариантов написания;
    — Санкт-Петербург — 12,6% ошибок и 767 вариантов написания;
    — Комсомольск-на-Амуре — более 20% ошибок и сокращений, 75 вариантов.

    Неправильная оценка количества сторонников могла привести к неправильному планированию сети штабов и агитационных мероприятий. Пришлось подумать над тем, как пользовательский ввод названия города превратить в стандартное название региона. Не хотелось для такой простой формы использовать механизмы автодополнения по КЛАДРу или ФИАСу. Поэтому мы взяли список из 700 наиболее крупных городов России, добавили список типичных написаний («спб», «н-ск») и сделали нестрогий поиск по ним с ранжированием по расстоянию Левенштейна (это мера разницы между двумя наборами символов).

    Каждый город из списка мы отнесли к одной из трех категорий по расстоянию до ближайшего штаба: штаб есть в городе, штаб близко (городская агломерация), штаб далеко. Удаленность от штаба учитывалась при оценке количества людей, которые в нужный момент приедут и поставят подпись. В аналитике мы отдельно считали всех подписантов и «доступных» (подтвердил почту, живет в городе со штабом или рядом).


    На этом графике видно, как кампания со временем становилась все более региональной. Доля новых регистраций из Москвы и Санкт-Петербурга уменьшилась с 35% до 15%.


    SMS и почта


    Еще одной технической сложностью была отправка SMS и писем. Шлюзы не очень хорошо доставляют сообщения, особенно на зарубежные номера. Но мы хотели получить самую чистую и достоверную базу сторонников, поэтому вторая часть формы регистрации требовала подтвердить номер телефона через SMS. Для надежной отправки мы сделали ротацию трех шлюзов: если сообщение не было доставлено, то повторная отправка шла уже через другой шлюз. Кроме того, отдельные шлюзы можно было выключать при сбоях на их стороне. Показатели доставляемости SMS-кодов — один из параметров, за которым велось наблюдение:



    По графику видно, что в работе шлюзов дважды случались сбои. Доля доставленных SMS сильно падала 21 февраля и 17-18 апреля из-за сбоев очереди отправки сообщений. А 15 июля мы поменяли верстку формы регистрации, это тоже заметно на графике.

    Мы отправляем большое количество писем по базе из более 700 тысяч email-адресов. Кто-то подписан на новости, кто-то должен получить уведомление о событии. Кроме того, каждый адрес нужно подтвердить по правилам 2-opt-in (это когда в первом письме приходит ссылка, на которую нужно нажать, подтверждая подписку на рассылку). В начале кампании мы пользовались сервисом ActiveCampaign, но он дорогой и невероятно тормозной. Когда база перевалила за 300 тысяч контактов, работать стало невозможно. Поэтому мы написали свой CRM / рассылочный сервис, который позволяет по нужным выборкам формировать рассылки и цепочки писем. Для доставки писем сейчас используется Mailgun.


    Очереди отложенных задач


    Отправка почты или SMS через API сторонних сервисов — операция, занимающая существенное время. Такие операции нужно выполнять асинхронно, чтобы не замедлять пользовательский интерфейс и не положить все приложение под нагрузкой. Изначально все асинхронные задачи работали через Celery с Redis в качестве брокера. Каждое письмо или SMS-сообщение создавало задачу в очереди Celery, после чего свободный воркер эту задачу обрабатывал. Но такой подход оказался ненадежным и слишком ресурсоемким.



    Как-то раз нам прилетело больше 10 тысяч регистраций за час (нет, нас не показали по телевизору, это была кампания «+1»). 10 воркеров Celery не могли с этим справиться, пользователи начали замечать значительную задержку при получении SMS и почты.

    После этого случая мы отказались от Celery в пользу простейшей очереди на базе PostgreSQL. Задачи из очереди разбирали «демоны» на питоне, по одному на каждый канал доставки сообщений. Раз в 10 секунд демон брал пачку задач из очереди и одним пакетом отправлял данные в рассылочный API. Группировка задач радикально снизила нагрузку на сервер, а использование самодельной очереди предельно упростило отладку и мониторинг.

    Celery оказался слишком сложным инструментом для нашей задачи. Ему требуется вдумчивая настройка и мониторинг через внешние утилиты вроде Flower, которая сама потребляет немало ресурсов. На других проектах мы стараемся использовать более простое решение — RQ + Redis.


    Сравнение сложности RQ и Celery из статьи про работу с асинхронными задачами.


    Процесс разработки


    Как устроен процесс создания сайта «Навальный 20!8» с точки зрения разработчиков? Мы не придерживаемся какой-то одной методологии, а используем подходы из разных систем. Например, менеджеры ставят задачи в Trello со структурой, похожей на канбан-доску, а разработчики применяют отдельные практики экстремального программирования.

    Примерно половина команды находится в московском офисе, а остальные работают удаленно. Московские сотрудники могут участвовать в летучках кампании, чтобы не работать лучше понимать общую картину, но задачи IT-отдела мы обсуждаем отдельно. Регулярные созвоны позволяют всем синхронизироваться и понимать основное направление работы в каждый момент времени.



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

    Исходный код хранится в git-репозитории на платформе Bitbucket. Для каждой серьезной новой задачи создается отдельная ветка. Мы не поднимаем staging-сервер для каждой ветки, все они сливаются в develop для запуска на едином тестовом сервере. После тестирования разработчик, ответственный за задачу, делает пулл-реквест в мастер. Тимлид смотрит код и, если все хорошо, запускает деплой. Для больших задач разработчики делают подробные описания того, что нужно проверить и что может пойти не так при деплое.


    Деплой организован очень просто. У нас есть инструмент, который реагирует на веб-хук из Bitbucket (или на кнопку из своего интерфейса), забирает код из нужной ветки, копирует его на сервер и запускает там скрипт обновления. Скрипт оформлен в Makefile.

    При запуске «make update» происходит обновление зависимостей, миграции, постпроцессинг статических файлов и, если все прошло удачно, перезапуск uwsgi-сервера. Миграции мы стараемся делать так, чтобы они не ломали старый код, поэтому в случае ошибок деплоя все продолжает работать.

    Разработка началась 18 сентября 2016 года. С тех пор было 1228 коммитов, 200 пулл-реквестов, деплой более 600 раз запускался в продакшн, а в репозитории было 67 веток (большинство из них сейчас закрыты).


    Про дизайн


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

    В дизайне IT-продуктов мы всегда руководствуемся двумя основными принципами:

    1) Информация для самого «ленивого» и невовлеченного пользователя должна лежать на самом видном месте (так мы, например, определяли первоначальные места блоков и разделов на сайте);

    2) Чем меньше людей будут пользоваться конечным продуктом, тем меньше мы его стараемся декорировать (экономим ресурсы разработки) и тем больше входных усилий можем допустить для каждого пользователя (часто эффективнее обучить несколько человек, чем тратить время на внедрение новых фич, которые сэкономят усилия пользователя или уберегут от ошибки).

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



    IT-cистема для сбора подписей — очень сложный, многокомпонентный проект с ограниченными ресурсами, поэтому основная часть работы дизайнеров шла на бумаге, на встречах и в гугл-доках, а не в графическом редакторе (в нашем случае Sketch).

    В проекте много сложных схем, которые так и хочется нарисовать, а все найденные с ходу электронные инструменты для рисования схем нас не устраивали. Иногда мы использовали draw.io, но чаще рисовали прямо на бумаге. Самые важные схемы висели на доске проекта. Туда же крепились бумажные «тикеты» с вопросами для обсуждения на встречах.



    Из согласованных с юристами бумажных схем и сценариев мы собирали прототипы в marvelapp.com, чтобы лишний раз проверить логику и удостовериться, что ничего не забыто. Только после этого макеты передавались в разработку.

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

    На одной странице мы видели поток регистраций, могли посмотреть события, которые на него влияют, и узнать, как наши сторонники распределяются по городам. Также мы собрали рейтинги городов по количеству подписантов (это позволяло следить за эффективностью работы штабов и подсказывало нам, правильно ли мы выбрали города для открытия новых штабов) и табличную аналитику.

    Для интерфейсов верификации и самого сбора подписей абсолютным приоритетом была скорость работы оператора. Сбор проходит в условиях острой нехватки времени, поэтому мы пытались сэкономить любую секунду и при этом снизить количество потенциальных ошибок пользователя.

    По нашим расчетам, с существующим количеством штабов и при условии непрерывного потока людей у каждого сборщика должно было уходить не больше 6 минут на человека — от «здравствуйте» до завершения процедуры сбора.

    Верификация и сбор подписей через IT-систему — это полностью изобретенная нами процедура, поэтому основным методом проверки своих решений мы выбрали тестирование MVP на реальных пользователях системы. Так мы протестировали базовый протокол и первый интерфейс верификации на сотрудниках московского штаба, а потом поехали в три разных города (Санкт-Петербург, Челябинск и Ульяновск), чтобы понаблюдать за реальными пользователями в процессе работы. Для подобных проектов это лучший способ быстро составить список вещей и юзер-кейсов, которые могли забыть или не предусмотреть на этапе проектирования и разработки.

    После внесения небольших правок в интерфейс верификация была запущена во всех штабах кампании. В итоге нам удалось сократить время обработки одной анкеты до полутора-двух минут на человека.




    Тестирование


    Для автоматизированного тестирования использовался RobotFramework. Для покрытия самого критического функционала проекта были написаны приемочные и функциональные тесты, настроен их автоматический запуск. В качестве CI-системы использовался Jenkins.

    Важнейшая функция сайта — регистрация пользователей, которая предполагает подтверждение телефона через SMS-код. Для тестирования сообщений с кодами был настроен GSM-модем с тестовой SIM-картой и Asterisk. SMS-код пересылался на почту, откуда он уже был доступен для тестов.



    Обнаруженные ошибки добавлялись в Trello в виде задач разработчикам.


    Серверная инфраструктура


    Сайт «Навальный 20!8» продолжает работать и плавно становится сайтом кампании забастовки избирателей, поэтому информационное эмбарго еще не снято, и рассказ будет коротким. Серверная часть состоит из трех уровней: бэкенд, кэширующие прокси и edge-серверы. Все конфигурации управляются через chef, поэтому сервер с любой ролью может быть быстро поднят на новой виртуалке.

    На бэкенде работают база данных и инстансы приложений, каждое приложение на своей виртуалке и со своими ip. Все серверы существуют в нескольких экземплярах, а база реплицируется в режиме master-slave на другую машину.

    На прокси-сервере установлен Varnish, который занимается кешированием запросов к определенным адресам и различными url-зависимыми ограничениями. Если бэкенд выходит из строя, сайт может неопределенное время работать с прокси-сервера, сломается только механизм регистрации пользователей.

    Edge-серверы занимаются кэшированием статики и ssl-терминацией (дальше трафик идет по VPN-сети). Суть этих серверов — раздать основной объем трафика и защитить остальную инфраструктуру от атак. Это слабые виртуалки с гигабитным каналом в разных дата-центрах. Нагрузка распределяется DNS-балансировкой. Edge-серверы содержат минимум конфигурации и при необходимости легко поднимаются за несколько минут. Максимальный полезный трафик, который был у нас на edge-серверах, — 5 Гбит/с в течение нескольких часов.

    Картинки, стили, javascript, json-данные хранятся таким образом, что имя файла включает хеш от содержимого данного файла (например, style.28fa1c7b1761.css), поэтому все эти файлы можно навсегда кэшировать на сервере и в браузере. Основной объем трафика отдается с edge-серверов. Дальше проходят только запросы к контентным страницам, а это примерно в 25 раз меньше данных.

    Иногда вместо edge-серверов подключается CloudFlare, но мы стараемся возвращаться к своим серверам, т. к. у CloudFlare не всегда бывает хорошая доступность из России. Отдельные провайдеры, даже самые крупные, регулярно начинают блокировать их ip (следы Роскомнадзора).


    Заключение


    Собирать подписи в традиционном стиле (без специальной IT-системы, с бумагой, ручкой и таблицами в экселе) — это как лететь на воздушном шарике на Луну: да, если взять достаточно много шариков, даже получится взлететь и скрыться в облаках, но добраться до цели таким способом физически невозможно.

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



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

    В третьей главе будет описан процесс создания приложений для сбора подписей и все, что касается работы с физическими подписными листами.

    В четвертой главе рассказано про управление проектом, команду, таймлайн и немного про результаты.
    ФБК 53,95
    Фонд борьбы с коррупцией
    Поделиться публикацией
    Комментарии 347
      +12
      Маркировали ли сканы вотермарками с датой, чтобы в случае утечки было ясно, для какой кампании они изначально собирались? Как долго хранятся сканы?
        +18
        Мы сканы единственный раз собирали, кампания только одна пока. Планировали хранить до конца периода сбора подписей (31 января). Сейчас как раз обсуждаем удаление (не только сканов, но и других персональных данных), придумываем план.
          0

          Мне кажется, всё нужно шифровать (причём с солью), и иметь разграничение прав. Потому что человеческий фактор в безопасности нельзя недооценивать.
          Тогда можно не удалять. Я ещё думаю, что можно сделать так, что система будет присылать СМС и просить подтверждение разрешения к доступу и подтверждение актуальности данных.
          Хотя, может я параноик.

            +1
            параноик

            шифровать (причём с солью)

            Как я от вас устал.

          +8
          Тогда уж и вотермарками с надписями за кого подпись. Параноить так по полной.
            +1
            Зачем? Что с ними можно сделать, если это не будет понятно?
            –112
            Сизифов труд. Хотя если он оплачивается (с донатов школьников или за идею работаете?) — то почему бы и нет ))
              +47
              Какая разница кто это, чем они занимаются и на какие средства они работают? Люди делятся своим опытом.
                +13
                Если бы люди хотели поделиться своим опытом, то статья бы называлась «IT-инфраструктура штабов кандидата в президенты и сбор подписей: подготовка к сбору».
                  +12
                  Не нужно считать, что цель может быть только одна.

                  Мне бы очень хотелось, чтобы люди не вздрагивали от упоминания имен политиков и, в частности, Алексея Навального. Это одна из целей, которую я перед собой ставлю, когда публикую технические материалы о своей работе.
                    +10
                    Мне бы очень хотелось, чтобы люди не вздрагивали от упоминания имен политиков и, в частности, Алексея Навального.

                    Мне кажется, или это немного противоречит правилам сайта?

                      +9
                      В третьей главе мы собираемся нарушить правило «не следует использовать смайлики», но вы же не об этом…

                      Так что, нет, не противоречит. Давайте не будем это обсуждать и оставим подобные вопросы модераторам.
                        +9
                        В данном случае «кажется».
                        Получилась ведь хорошая техническая статья.
                          +1
                          политика везде. правла сайта ЧУДОМ изменяться в тот момент когда политика дотянется и до нее…
                          правила сайта как бы оглашают общий принцип населения — «не лезу, лишь меня не тронуло… „
                            +2
                            да нет здесь никакой политики, если её специально под лупой не высматривать. есть интересный технический материал, не больше.
                            –33

                            А когда это товарищ Навальный стал политиком? Был, может быть, помощником какого-то политика… когда-то… но сам он, насколько известно, никаких должностей ни в одной из ветвей власти не занимал. Он актёр, юрист (может быть), предприниматель (монетизация школозавтраков), но не политик пока что...

                              –21
                              Блогер он. Тот кто много говорит и ничего не делает.

                              p.s.Жду аналогичные технические статьи от других кандидатов тех кто может стать кандидатом без нарушения закона.
                                +25
                                А когда это товарищ Навальный стал политиком?

                                Проводил политические акции — стал политиком. Причем ещё в далеком 2007.
                                Политик — это не должность в ветвях власти. Дожность в ветвях власти — это чиновник.
                              +5
                              Никто и не сомневается в том, что цель не одна. Как и в том, что «поделиться опытом» не главная цель.
                                –6
                                Никто и не сомневается в том <..> что «поделиться опытом» не главная цель.
                                Зачем вы лжете? Я сомневаюсь.
                                  +3
                                  Как и в том, что «поделиться опытом» не главная цель.

                                  Впрнципе, как и у большинства корпоративных блогов здесь. Главное чтобы технический контент был интересный. Вы же не пишете такие сообщения, когда майкрософт в своей статье упоминает название своей компании или имя директора. Хотя их статьи точно также несут в себе цель повысить лояльность аудитории к бренду.
                                +5
                                Только есть одна загвоздка — ни у одного из кандидатов такой инфраструктуры нет. Ну, может быть, кроме Собчак.
                                  –2
                                  Может вы об этом просто не знаете?
                                    +2
                                    Можете в таком случае показать кнопку «хочу поставить подпись, оставить контакты» на сайтах putin2018.ru, 2018.yavlinsky.ru или где-нибудь ещё?
                                      +1
                                      Прикольно, у Явлинского есть кнопка «Сбор подписей», но она режется блокировщиком рекламы (uBlock).
                                      +8
                                      А вы знаете? Ну тогда ждем статью…
                                    +3

                                    Тоже не покидала эта мысль. Вместо того, чтобы описать техническую часть, и в конце сделать подпись, для какого именно кандидата реализовывалась задача — это в полной мере устроило бы и сторонников, и противников Навального, поставили политическую часть во главу угла. А к технической части вопросов нет, было интересно

                                    –10

                                    Ну как минимум у меня возникла мысль: "За чей счёт этот банкет?" В "донаты школьников" — мне верится с трудом. И да я согласен с некоторыми комментаторами, что в статье явно присутствует политота, а значит:


                                    1. Комменты рано или поздно уйдут в политический срач
                                    2. Многих поминусуют, ибо "слаб человек"

                                    ИМХО — статью следует или переписать под нейтрального кандидата или убрать нафиг. Во избежание. Ибо нефиг.

                                      +4
                                      Ну как минимум у меня возникла мысль: «За чей счёт этот банкет?»

                                      Если вы беспокоитесь, что за ваш, то я бы присмотрелся к другим кандидатам. Как ни относиться к Алексею Навальному, но к бюджетным средствам он доступа не имеет.
                                        –1

                                        Я точно знаю, что не за мой, просто потому что живу в Латвии и у нас свои заморочки. Но "не беспокоиться" и "знать" — это разные вещи. Мне любопытно, ибо деньги серьёзные (сам в сфере IT работаю), а "на альтруизме", "руками вчерашних студентов" или "пирожками Нуланд" — такого не сотворишь. Поэтому то вопрос и возник: "откуда деньги, Зин?". И я более чем уверен, что такой вопрос возник — не у меня одного.
                                        P.S. Вопрос типа "раз не местный, то какое тогда дело?" — буду считать провокационными и несущими явную политоту. И ответ на них давать соответствующий — "мне любопытно, а в альтруизм я после 1991 — не верю".

                                          +4
                                          Если вам и правда интересно, то полистайте их блог — там публиковали отчеты о сборах средств. Но судя по «донаты школьников», «пирожками нуданд» — цель ваших комментов скорее в разведении полит срача.

                                          Я вот как и вы наблюдаю за ситуацией со стороны и вполне вижу что у них есть минимум пара млн реальных сторонников, среди которых хватает вполне обеспеченных людей, которые хотят изменить страну и готовы вкладываться в это.
                                            0

                                            Если бы я жил в РФ — может быть и был смысл разводить срач, но увы вам — мне это не интересно. Своё мнение о Навальном у меня есть, но срач действительно разводить неохота.

                                            +5
                                            Я, например, не студент (уже оооооооооочень давно). Но раз в месяц стараюсь какую-то денежку переводить. Недавно посчитал — за 2017 год хорошая сумма получилась. Знаю, что минимум двое моих коллег по работе так же делают. И тоже давно не студенты. Я ответил, хотя бы, частично, на Ваш вопрос «откуда деньги?» :)
                                              0

                                              Частично "да", но тут такой вопрос — не делаете ли вы медвежью услугу? Ведь если такой гемор со сбором данных, когда неправильная буковка — является причиной отметания голоса, то не существует ли какого нибудь хитропопого адвоката, который потом (как всегда — в самый последний момент, чтобы нельзя было подать аппеляцию) признает Навального обвиняемым в каком нить законе "по отмыванию денежных средств, нажитых преступным путём"? Это чисто для интересу спрашиваю. Если уж "товарищи" додумались до "токсичных" сборщиков данных — то до такого финта ушами они вполне себе способны додуматься.

                                                +3
                                                Ваши опасения понятны, и насколько я читал, в свое время активно искали тех, кто признается, что деньги они перевели обманом. Но вроде эта история развития не получила, значит — доказать в этой части ничего не удалось.

                                                В общем, это пусть у Навального голова болит. Для меня главное — что я ему доверяю, и поэтому готов оказывать посильную поддержку. А как обеспечить соответствие моего гражданского действия текущему законодательству — пусть у него голова болит :)
                                          +5
                                          Лично надонатил на месяц работы одного технического специалиста. В последних трансляциях были публичные донаты и за час эти ребята собирали ~500к по четвергам.
                                            +8
                                            За мой счет банкет. Я переводил деньги Навальному.
                                              +4

                                              Перевожу по тысяче ежемесячно. Не бог весть какие деньги, ну так и я такой не один. Даже среди моих коллег по офису несколько донатит.

                                            +7
                                            Но так как это не мешает другим людям, то они имеют на это полное право…
                                              +5
                                              Точно так же как и немезид имеет право высказать свое мнение.
                                                +24
                                                Понимаете, по большей части вообще всё развитие общества — это сизифов труд, ведь намного проще быть обезьяной. И есть куча примеров, как легко с вершин скатываются в варварство.
                                                В данном случае труд явно общественно полезный даже при полной его «бессмысленности» на текущий момент, ибо только подобными шагами и можно что-то изменить, а все решения с кондачка, по-быстрее да по популистее — уже сколько раз оборачивались такими проблемами в будущем, что…
                                                Поэтому независимо про отношение ко всем прочим вещам — данное действо было не бесполезно в любом случае. Уж лучше так, чем…
                                                  –29
                                                  Ну не знаю, вот по моему труд всей этой конторы под названием фбк – абсолютно бесполезен по одной простой причине – цель Навального – получить власть, а не изменить что-то. У него за все эти годы даже программы внятной за все это время не появилось. Не говоря про постоянное враньё. Так что популизм и решение с кондочка – это скорее про него как раз. Это мое личное мнение. Вообще я не понял к чему вы все это написали т.к. разговор шел о свободе выражения мнений так сказать. Вот у Немезида такое мнение, у вас такое, у меня третье, а у Навального четвертое. Зачем примешивать сюда как всегда тему богоизбранности Навального и того, что это только он, якобы, что-то пытается изменить – не ясно
                                                    +16
                                                    Вы либо не в курсе, либо специально наговариваете.
                                                    Программа у Навального есть и она более внятна чем программа Путина.
                                                    И врет Навальный меньше чем Путин.
                                                    В ситуации когда все сдались и играют по правилам правящего режима, Навальный действительно уникален и пытается что то изменить.
                                                      –18
                                                      И где ж эта программа, что про нее никто не знает? Неуловимый Джо?
                                                        +14
                                                        Нашел ее за 3 секунды, считая время на ввод запроса в поисковую строку.
                                                        я не знаю != никто не знает
                                                        –3
                                                        Повысить минимальную оплату до 25т?

                                                        мне хватило этого пункта.
                                                        www.gazeta.ru/business/2016/12/21/10440995.shtml
                                                        Простой анализ.
                                                        «Сам Навальный в многочисленных интервью никаких расчетов не приводил.»

                                                        Программа это в первую очередь определение источников финансирования.
                                                          +4
                                                          Статья по ссылке написана в позапрошлом году и информация в ней слегка устарела. (Да и вообще непонятно, почему рассчёты должны приводиться именно в интервью, и что за многочисленные интервью Навальный успел дать за неделю).
                                                          С тех пор к программе вышло много обоснований с расчётами, она неоднократно становилась предметом дебатов. Вот кто действительно не приводил никаких расчётов, так это все остальные кандидаты, и на дебатах их программы тоже никто не обсуждал. А у очевидного победителя так и вовсе никакой программы нет.
                                                            –4
                                                            У Путина есть программа. Она принята в бюджете и реализуется последние хз сколько лет.
                                                            У Явлинского есть программа. Насколько она реальна не знаю, но прошлые его программы были подкреплены пусть и немного фантастичными цифрами и как минимум проверяемыми расчетами.

                                                            Т.е. сейчас он не предлагает установить МРОТ в 25т?

                                                            Можно на подкрепленную расчетами программу Навального. Я спрашивал у его сторонников, никто ее не видел, а в качестве источников финансирования приводилась борьба с коррупцией и налог на проведенную приватизацию, который на данный момент не понятно кто должен платить нынешний владелец или тот кто был при приватизации. Кроме того подобный шаг противоречит соглашению с Евросоюзом и привел бы к судебным процессам аналогичным Юкосу, вот только в отличии от дела Юкоса разбирательство было бы в европейском суде (Юкос был до соглашения о присоединении к европейскому суду по правам человека, а значит ему не подсуден).
                                                              +7
                                                              Я не совсем понимаю, какие именно рассчёты вы хотите увидеть. Что за расчёты есть у Явлинского на 2018.yavlinsky.ru, которых нет на 2018.navalny.com/platform, planperemen.org и youtu.be/a2psViamdq8? А бюджет это вообще ни разу не программа. Во фразе «будем делать, как раньше» тоже нет никаких расчётов, да и результаты сомнительные. Если у Путина действительно есть программа, почему он нам её не показал? Почему отказывается обсуждать на дебатах? Почему всех так волнует программа незарегистрированного Навального, а программы всех остальных кандидатов никто даже не пытается обсуждать?
                                                                –10
                                                                Почему отказывается обсуждать на дебатах?
                                                                Если бомж на улице предложит вам обсудить вашу работу, заявляя что он лучше знает как её делать, то какова вероятность что вы согласитесь? Так и тут. Дебаты ведут с равными или хотя бы с примерно равными.
                                                                  +6
                                                                  а чем определяется «равенство»?
                                                                    –4
                                                                    Чем определяется «равенство» для конторы между вами и бомжом с улицы? В пользе каждого из вас для конторы. Если бомж будет на улице кричать что он лучше вас может работать и подбивать прохожих кидаться в вас какашками, то даже в этом случае этот бомж для конторы никакой пользы не несет и рассматривать его в качестве работника ваше начальство не будет. Поэтому и вы не будете вступать с ним в дебаты.
                                                                    Так и в данном случае — «равенство» определяется в пользе, принесенной стране. И в этом плане все кандидатам до Путина очень и очень далеко.
                                                                      +5

                                                                      Во-первых, есть альтернативные точки зрения на тему, кто сколько пользы принес. Во-вторых, при сравнении этих двух личностей надо учитывать, что один — 18 лет у власти, из них последних 15+ почти единоличной, а другой противостоит всей системе, не имеет никаких полномочий а из ресурсов — только пожертвования сторонников.

                                                                        –9
                                                                        Противостояние власти, которая реально работает, это как раз отрицательная карма. За то время что длится это противостояние, можно было уже сделать что-то реально полезное.
                                                                        «Пожертвования сторонников» — весь вопрос кто эти сторонники. Потому что даже в посте уже отмечали что инфраструктура, описанная тут, весь дорогое удовольствие. Но сторонники дали деньги, хотя не было законных прав стать кандидатом.
                                                                    +3
                                                                    Все люди равны. Даже если они ездят в бронированных кортежах
                                                                      0
                                                                      А лучше всего знают как управлять мегакорпорациями и страной те, кто ездят за рулем такси…
                                                                        +6
                                                                        Как ни странно во многом это правда: любой человек с хорошими коммуникативными способностями и лидерскими качествами будет управлять намного лучше чем профильный спец интроверт ненавидящий людей. Яркий пример современности Э.Маск — не являясь супер ученым, смог добиться того, чего не могли тысячи профильных гениев.
                                                                          –5
                                                                          Извините, после такого коммента не могу удержаться и не предложит вам поработать под таким тим лидом, как указан у меня.
                                                                          А уж сравнить с таксистами Маска — это вообще 5…
                                                                    0
                                                                    Потому что Навальный событие выборов, а остальные или привычно выставляющиеся или никому незнамые.
                                                                    Бюджет это программа. Она определяет реальные направления развития государства, финансирования и т д
                                                                    В отличии от неподкрепленых лозунгов. В США программа президента это в первую очередь расходы и доходы бюджета постатейно.

                                                                    Знаете, я бы ввел запрет выставляться на выборы если не прошел первый раз, тогда бы появлялись от партий новые лица.

                                                                    Программа Яблока, по факту Явлинского, не обновлялась как я понял с 2016 года. Мне она не нравиться, но программа не предусматривает на мой взгляд не реализуемых деяний, я ее мельком просмотрел.

                                                                    Дебаты снижают рейтинг лидера. Поэтому политологи всех стран не рекомендуют принимать лидеру в них участие.
                                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                                        +2
                                                                        Спасибо, ссылку мы поправили. Но политическую дискуссию, пожалуйста, заканчивайте. Тут же Хабрахабр и технические дела.
                                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                                          +2
                                                                          ссылка ведет на страницу 404.

                                                                          Затестил — у меня открывается. (upd. не обновил коменты, оказывается уже пофиксили). Я программу читал, но она не очень подробно описана в плане методов. Подробнее — надо смотреть youtube и по крупицам собирать материал. Часть — Милов озвучил на navalnylive, часть — у себя в блоге, часть можно найти у Максима Миронова в блоге (https://mmironov.livejournal.com/).
                                                                          После того, как я разобрался — вижу что ребята понимают, что надо делать и у них есть план. Проблема в том, что они публичную программу описали не так подробно. Думаю, что это по политическим причинам: чем подробнее расписываешь методы — тем больше пространства для критики и тем сильнее теряешь стороников.
                                                                          Всё-таки сейчас политическая конфигурация такая, что программы большинству избирателей не интересны и никто не следит за их выполнением (вспомните программу Путина 2012, или ЕР). Важнее именно с помощью лозунгов призвать избирателей хоть к какому-то политическому действию.
                                                                          Да и до выборов дело не дошло, думаю была бы представлена более подробная программа ближе ко дню выборов, если бы был реальный шанс на победу. Как минимум Волков обещал.

                                                                          сайт planperemen.org больше похож на блог

                                                                          Скорее свалка разных материалов и мнений. Это не программа, а площадка для обсуждения. Лучше читать непосредственно доклады Милова и Максима Миронова. Можно посмотреть кто ещё участвовал в составлении программы и поискать их доклады, я не стал так глубоко копать.

                                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                                        +1
                                                                        Честно говоря дебаты не оч. яркие, скорее полит. лозунги, но гуглятся легко: Милов — Мовчан, Милов — Чичваркин, Милов — Светов.
                                                                        Есть более интересная и глубокая дискуссия, но в виде текста — mmironov.livejournal.com. Там есть статьи ответы с аргументами, ссылки на критику тоже есть, но придется поискать и побродить.
                                                                    0
                                                                    То, что выложено у него на сайте — это не программа, а пропагандистская листовка. Под программой я понимаю документ в котором приводятся конкретные планы изменений и, что не менее важно, пути их достижения. И, да, с расчетами и обоснованиями. Так же хотелось бы знать кто за нее ответственнен.
                                                                    А то, что есть сейчас — это просто набор лозунгов.
                                                                      +1
                                                                      Можете привести пример такой программы у другого политика?
                                                                        –3
                                                                        А причем тут другие? Вообще вам выше ответили.
                                                                    +3
                                                                    цель Навального – получить власть, а не изменить что-то

                                                                    Что за варварские предрассудки. Понимаете, одно другому не мешает. В мире есть огромное количество ситуаций вида win-win, когда действия одной из сторон приносят пользу обеим сторонам. В этом конкретном случае, желание Навального получить власть нисколько не исключает его же желание что-то изменить. Даже если у него этого желания "на самом деле" нет, но его единственный варинат прийди к власти — изменить что-то, то, казалось бы — ну и отлично же.

                                                                      +7
                                                                      цель [...] – получить власть
                                                                      Это работа политика — получить власть, чтобы провести желаемые реформы.
                                                                      Если политик не хочет получить власть, то он плохо работает.
                                                                        +1
                                                                        Это работа политика — получить власть, чтобы провести желаемые реформы.

                                                                        Не совсем так. Часто бывает, цель — не получить власть, а всеми силами ее удержать.
                                                                        А вместо реформ для этого использовать красивые лозунги: удвоение, модернизация, развитие, нано технологии, импорто замещение, теперь мода на цифровизацию и т.п.
                                                                        Т.е. реальных мероприятий не нужно, главное «зарядить» позитивом население через волшебный зомбоящик.
                                                                        Если политик не хочет получить власть, то он плохо работает.

                                                                        В нашем случае, если правящие политики потеряют власть – они потеряют не только «заработанное» богатство, но и свободу. Неужели это не очевидно?
                                                                        Им остается или держаться зубами за власть или передать ее лояльному приемнику (как это уже было).

                                                                        Поэтому, для некоторых «результаты выборов» — это возможность «жить как прежде» (и ни в чем себе не отказывать) или дорога в места «не столь отдаленные».

                                                                        А тут, на какой-то «Жнец-2018» надеются. Хоть десять их будет, хоть с биометрий избирателя, хоть с генерацией 3Д голограммы физиономии избирателя при наведении зрачка члена ЦИКа на графу подписного листа с подписью – ровно ничего не изменит.

                                                                        Кстати олигархи также сейчас не особо думают, как заработать деньги, они думают – как их не потерять, особенно в условиях кланового раздора и поборов на выборы 2018.
                                                                        +1
                                                                        Так что популизм и решение с кондочка – это скорее про него как раз
                                                                        В данной статье идет описание выдвижения Навального в президенты. Процесс сий есть законный. В этот раз не удалось, в другой раз у кого-нибудь другого — удастся. Главное приучить всех не видеть в этом проблем.
                                                                        Зачем примешивать сюда как всегда тему богоизбранности Навального и того, что это только он, якобы, что-то пытается изменить – не ясно
                                                                        И вот где вы это вычитали?
                                                                        Более того, я говорил не про весь труд ФБК, а конкретно про выдвижение в кандидаты. Которое потребовало новых подходов. Которые, скорей всего, в следующий раз будут применять уже несколько партий, а через какое-то время это внедрят все.

                                                                        Господи, почему каждый раз, когда ты пытаешься оценить действия разных политиков нейтрально (будь то Путин, будь то Навальный, будь то Жириновский и кто там еще есть) старательно не примешивая свою политическую позицию в оценку — тебя сразу записывают в один из выдуманных лагерей, м?
                                                                  –14
                                                                  Фавориту «гонки» донатит вся страна — и даже трудиться не надо, главное вовремя анекдот рассказать.
                                                                    0
                                                                    Это как с биткойнами. Пока у ребят, запускающих криптопроекты есть деньги — можно к ним наниматься с поденной или понедельной оплатой. Если они сгорят, максимум — потеряешь день или неделю работы. Хотя тут, конечно, идеологически надо в том же русле думать.
                                                                    +13
                                                                    Весьма серьезный подход к делу!
                                                                      +11
                                                                      Москва — 2,5% ошибок и 579 вариантов написания

                                                                      Приведите первую десятку вариантов, пожалуйста.
                                                                        –61
                                                                        Уровень избирателей соответствует
                                                                          +35
                                                                          Как-то так:
                                                                          москва             | 93844
                                                                          moscow             |   944
                                                                          москвп             |    85
                                                                          moskva             |    82
                                                                          г. москва          |    80
                                                                          москва, зеленоград |    67
                                                                          г.москва           |    61
                                                                          moskow             |    41
                                                                          моска              |    36
                                                                          москвв             |    35
                                                                          россия, москва     |    31
                                                                          Перед подсчетом сделан lowercase.
                                                                            +1
                                                                            Но ведь стандартное автодополнение (Google-API в качестве примера, не реклама) для города решило бы все проблемы с написанием. Почему не подключить бы его?
                                                                              +7
                                                                              Всё не так просто с автодополнением адреса. Оно решает одну проблему (да и то не всегда), но добавляет целый ряд новых. В третьей главе будет много про это написано в контексте заполнения адреса для подписных листов.

                                                                              А в форме регистрации для нашей задачи хватало той точности, которую давал свободный ввод и минимальная коррекция ошибок уже по готовой базе.
                                                                              +3

                                                                              Хе-хе! 67 земляков с Зеленограда. У ребят выбора нет, как писать свой город. Напишешь "зеленоград" — могут не понять, где это вообще или решить, что относится к МО.

                                                                            +4
                                                                            Ух!
                                                                              +27
                                                                              >Долгожданная аналитика
                                                                              >2018.navalny.com/fap-fap-fap

                                                                              Вот это прямо порадовало под конец дня
                                                                                +1

                                                                                Откуда сей url? Переход по нему дает 404

                                                                                  +2

                                                                                  Скриншот со статистикой.

                                                                                  0
                                                                                  Когда я пытаюсь на разных сайтах почитать про всякую орнитологию (уточки, чайки, вот это все) на компе часто возникает такое:
                                                                                  image
                                                                                  Opera 36.0.2130 (последняя версия для XP) + Turbo, DrWeb, WinXP.

                                                                                  В Firefox все показывает. Подскажите, это у вас один криворукий программер на всю оппозицию или шалит Opera/провайдер/DrWeb?
                                                                                    +3
                                                                                    В XP устаревшие сертификаты в системе, потому все браузеры которые пользуются системными будут выдавать такое. У ФФ своя обновляемая система сертификатов, потому и работает.
                                                                                      +1

                                                                                      В XP не поддерживаются сертификаты EC, которые используются на бесплатных тарифах Cloudflare.

                                                                                        –1
                                                                                        Обычно в таких случаях Opera пишет, что невозможно проверить издателя. Или: сертификат просрочен, продолжить?

                                                                                        Mozilla пишет, что сертификат navalny.com выдан COMODO, а такой «центр сертификации» в Opera и IE есть.
                                                                                        За последний год я посетил сотни сайтов и только штук пять было с проблемой «не может обеспечить», три из них муть-компотной направленности. Наверное сертификаты госдеп из одной корзинки раздает :)
                                                                                        Но я не против, все равно инфа там интересная.
                                                                                          0

                                                                                          Проблема не в отсутствии издателя (authority) в trust anchor вашей ОС, а в отсутствии в XP поддержки криптоалгоритмов, основанных на эллиптических кривых (EC).


                                                                                          У Cloudflare принудительное HTTPS, на бесплатных тарифах только с поддержкой криптоалгоритмов EC и без поддержки legacy RSA, что снижает нагрузку на терминирование TLS/SSL на их стороне (ECDSA существенно "легче" RSA). На платных тарифах у них полноценный dual stack и одновременно клиенту предъявляется две цепочки, EC и RSA. У сайта Навального, очевидно, бесплатный тариф.


                                                                                          Когда браузер (используя системную библиотеку SSL/TLS) соединяется с удалённым хостом, сервер отправляет браузеру список поддерживаемых им криптоалгоритмов. Если совпадения среди поддерживаемых браузером и клиентом не найдено, то выдаётся сообщение типа "ciphers mismatch". Это происходит даже до проверки, собственно, самого сертификата и построения цепочки доверия до trust anchor.

                                                                                        0
                                                                                        Обсуждали уже в первой статье и выход красивый нашли:
                                                                                        habrahabr.ru/company/fbk/blog/347312/#comment_10633922
                                                                                        см. по указанной ссылке и выше.
                                                                                        Только не понял, за что там мне минусов понаставили:
                                                                                        Уверен, что выход есть. Даже без обновления Win и покупки нового компьютера
                                                                                        ...
                                                                                      +11
                                                                                      Похоже работу ваших оповещений серьезно подпортила сломанная кнопка «Отписаться от рассылки».
                                                                                      Лично с этим столкнулся. По глупости вписался сначала в эту тему. Потом понял что происходит что-то не ладно. Но не хотелось «подсирать», поэтому прото несколько раз жмякал «отписаться от рассылки». Когда на 5 раз это не сработал — тогда отправил в спам. После этого общался с другими людьми и у них письма ваши тоже начали потихоньку в спам валится. Видимо не только у меня сломалась отписка от рассылки.
                                                                                        +2
                                                                                        Это обычная практика вредных рассылок и встречается довольно часто. Кнопка «не присылать мне ваше говно» есть, значит формально рассыльщик белый и пушистый. А то что она не работает никого волновать не должно, чтобы не терять аудиторию (а вдруг и правда все начнут отписываться от рассылки, нам этого не надо).
                                                                                          0
                                                                                          Я не думаю что это специально.
                                                                                          Ведь никто в здравом уме не хочет чтобы его рассылка определялась как спам. Так что потерять чувака, который и так не хочет получать письма — это гораздо меньшее зло, чем попасть в спам фильтры.
                                                                                          +1

                                                                                          Это серьёзно портит имидж парней, которым важна чистота подписей

                                                                                            +4
                                                                                            Мне сложно представить, как такое возможно.

                                                                                            Дело в том, что мы долгое время пользовались ActiveCampaign и отписка была реализована на их стороне. А там всё строго, мы на это не влияем при всем желании. После нажатия на «отписаться» они просто не будут отправлять письма на данный адрес.

                                                                                            В какой-то момент перешли на свою систему, и там есть работающий механизм отписки. Там можно не только отписаться, но и выбрать уровень отписки. Например, оставить только важные сообщения и не получать новости. Мы видим, что этот механизм работает, кто-то отписывается.

                                                                                            Если хотите, можем попробовать разобраться в этой истории. Присылайте ваш email в личные сообщения. Посмотрим всё по логам.
                                                                                              +1
                                                                                              Отписал вам свою почту.
                                                                                            0
                                                                                            Максимальный полезный трафик, который был у нас на edge-серверах, — 5 Гбит/с в течение нескольких часов.

                                                                                            А какой был максимальный не полезный? А сколько в среднем не полезного трафика в день вы получаете?
                                                                                              +4
                                                                                              Это нам неизвестно. От DDoS нас прикрывают дата-центры с аппаратной защитой или CloudFlare. Статистику по трафику мы не видим. Но атаки случаются регулярно, особенно во время каких-то ключевых событий (расследование вышло, выборы объявили). В среднем, наверное, мало такого трафика, но в «неспокойные дни» бывает по десять раз за неделю происходит переключение на защищенную от DDoS инфраструктуру.
                                                                                                +6
                                                                                                Сделайте себе зеркало в ZeroNet. Это такая система распределенных динамических сайтов, по типу BitTorrent. Чтобы попасть на сайт, человеку нужно будет поставить программу, но есть одно но: можно крайне легко делать зеркала сайта (гейты из интернета в zeronet, чтобы не нужно было устанавливать прогармму) на каких-нибудь дешевых виртуалках, и ими не нужно будет управлять каждой по отдельности. Можно купить сразу 50 виртуалок, навершать 50 IP-адресов на домен (или для каждого региона отдавать свой набор IP-адресов), и все.
                                                                                                  0

                                                                                                  С ZeroNet так получится только статику хостить. Чтобы сделать это хоть как-то динамичным придется писать дополнительный код, да и возможности ограничены.

                                                                                              +2
                                                                                              А почему вы не запустили аналоги dom.navalny.ru и других классных решений с мэрской кампании? Или ещё не вечер?
                                                                                                +9
                                                                                                Сейчас другие задачи, для них есть более эффективные решения. Кажется, сейчас самое классное — это канал на Youtube и отдел видеопроизводства. Для наблюдения за явкой что-то делается, подробности не могу сказать.
                                                                                                  0
                                                                                                  А передайте, пожалуйста, тем, кто делает видео, что очень хотелось бы аудио передач с YouTube иметь в виде подкастов с поддержкой RSS, чтобы слушать на прогулке, в спортзале и тд.
                                                                                                    0
                                                                                                    RSS, вроде, не завезли, но слушать в режиме подкастов уже можно на iOS и Android
                                                                                                      0
                                                                                                      Спасибо, не знал. Не понял только — оно в оффлайне работает, типа скачать и слушать в дороге?
                                                                                                        0
                                                                                                        Вроде из коробки такого нет, но возможно есть кэш.
                                                                                                +7
                                                                                                Читая это, страшно представить, какая мощная IT-система для сбора подписей у путинского штаба!
                                                                                                  +23
                                                                                                  Так у путинского штаба нет проблемы с браковкой подписей, как минимум. Или это сарказм был?
                                                                                                    +1
                                                                                                    Собранные на курганских заводах подписи в поддержку Путина аннулировали
                                                                                                    www.rbc.ru/rbcfreenews/5a5d47d29a794717021e2ec3

                                                                                                    Я думаю, что там идет многоэшелонная проверка. Просто ресурсов на это достаточно.
                                                                                                      +4
                                                                                                      Их не аннулировали, их даже не сдали в ЦИК, просто штаб Путина сказал «ой, мы тут незаконно собирали подписи, ну ладно, тогда эти в ЦИК не понесём». Понёс ли штаб Путина какое-то наказание за незаконный сбор? Об этом в статье почему-то умалчивается.
                                                                                                        +4
                                                                                                        Вот мы и перешли к чисто политическим обсуждениям.
                                                                                                          +1
                                                                                                          Ну нет, эту пока можно считать юридической ;)
                                                                                                          0
                                                                                                          штаб Путина сказал «ой, мы тут незаконно собирали подписи, ну ладно, тогда эти в ЦИК не понесём».

                                                                                                          Эээ, штаб путина?
                                                                                                          представители КПРФ в Курганской области составили жалобу в Центральную избирательную комиссию (ЦИК)
                                                                                                      +1
                                                                                                      Нет там никакой IT-системы, там есть ЕдРо, которое среди своих все подписи соберёт, так что и лошадке ещё останется :-)

                                                                                                      PS.А точнее уже собрало.
                                                                                                        +1
                                                                                                        Лошадка это Собчак?
                                                                                                      +3
                                                                                                      Нагрузка распределяется DNS-балансировкой

                                                                                                      Можете рассказать какие-либо детали о технической реализации? Или речь про самый простой round-robin с ttl=300? Спрашиваю, т.к. замечал только NS-ы от cloudflare, но не особо внимательно смотрел.


                                                                                                      Иногда вместо edge-серверов подключается CloudFlare, но мы стараемся возвращаться к своим серверам

                                                                                                      Я правильно понимаю, что edge был, условно говоря, "в Москве и Европе", а не в регионах РФ и слова про доступность — они исключительно про РКН? Или были более интересные инциденты?

                                                                                                        +8
                                                                                                        DNS-балансировка — да, простой Round Robin DNS. У нас же нет такого, что нужно учитывать загруженность конкретного бэкенда и отправлять туда меньше запросов. Нам просто нужно равномерно раскидать трафик по нескольким серверам, чтобы не забить канал.

                                                                                                        Да, edge не распределяли по регионам. Нет ресурсов на такое, да и потребности особой не было.

                                                                                                        Доступность — это про эхо прошлой деятельности РКН. Они не блокировали наши сайты в последние года два, но постоянно возникают какие-то ошибочные блокировки у разных провайдеров. Весной было модно выкупать старые заблокированные домены и прописывать им в A-запись посторонние сайты. dig alkostakan.ru до сих пор показывает ip CloudFlare, на котором были наши сайты (но сейчас это уже не приводить к блокировкам, т.к. РКН поменял правила).

                                                                                                        Наш распределенный мониторинг доступности, про который будет рассказ в третьей главе, выявляет не только блокировки РКН. Иногда мы видим сетевые проблемы и падение доступности на десятки процентов, хотя обычный мониторинг считает, что всё в порядке.
                                                                                                          +1

                                                                                                          Я спрашивал скорее не в контексте "отправить на узел X меньше запросов" или "отправить на ближайший edge", а в контексте "автоматически выкинуть узел X из балансировки при его отказе или перегрузке".


                                                                                                          Моду на старые заблокированные домены я немного застал. А про десятки(!) процентов будет, конечно, интересно узнать подробнее, т.к. ValdikSS и я с помощью разных экспериментов (blockcheck, RIPE Atlas, OONI) оценивали масштаб блокировок "по IP" и получали цифры порядка 10%. Или речь про аварии?

                                                                                                            +1
                                                                                                            По статистике Blockcheck, 12-13% провайдеров от общего количества провайдеров РФ блокируют по IP-адресу. Нужно отметить, что сюда входят даже провайдеры, которыми пользуется очень малое количество людей. Возможно, например, на сайт Навального много заходят с мобильного Теле2, а у него как раз блокировки по IP-адресу, и у них статистика другая.
                                                                                                              +1
                                                                                                              Десятки процентов — это про аварии. По блокировкам актуальных данных нет, т.к. давно не блокировали.
                                                                                                          +3
                                                                                                          Спасибо за пост, интересно читать.
                                                                                                          Ждал контейнеры и кубернетес. Планируете?
                                                                                                            +4
                                                                                                            Да, уже какое-то время присматриваемся к технологиям. Конкретно этот проект старались делать как можно проще, привычными инструментами, с которыми умеем работать буквально с закрытыми глазами. Но контейнеризация есть в планах на ближайшее будущее.
                                                                                                            +3
                                                                                                            > мы провели большую процедуру предварительной верификации избирателей, через которую прошло 81 750 человек.

                                                                                                            Это тест на московском штабе или + Санкт-Петербург + Челябинск + Ульяновск? В течение какого времени столько подписей верифицировали?

                                                                                                            Итоговые цифры проверифицированных людей так и не публиковали, интересно хотя бы примерно прикинуть.
                                                                                                              +5
                                                                                                              81 750 — это общее количество успешных верификаций во всех штабах от начала и до конца верификации. По времени сложно сказать, т.к. верификация в разных регионах начиналась не одновременно. Думаю, основная часть верификаций — это ноябрь-декабрь. Но понятно, что темп верификации значительно ниже, чем предполагаемый темп физического сбора подписей.
                                                                                                                +2
                                                                                                                Напишите про Raspberry Pi. Очень интереснен опыт их использования.
                                                                                                                  +2
                                                                                                                  Будет завтра в главе про железо и сети.
                                                                                                              +14
                                                                                                              Ребятам респект и уважение. За отличную статью и за что делают такое важное дело.
                                                                                                                +16
                                                                                                                Ремарки вроде «не пускать на выборы «несогласованных» кандидатов» обязательны в технической статье?
                                                                                                                Очень сильно портит впечатление от описания весьма интересной работы.
                                                                                                                  +34
                                                                                                                  И писать везде «штаб небезызвестного блоггера»?
                                                                                                                    +14
                                                                                                                    «Штаб Навального» — это название команды, это нормально.
                                                                                                                    «не пускать на выборы «несогласованных» кандидатов» — это политота. От удаления которой из поста ни его смысл, ни логика повествования нарушены не будут. Пострадает только количество политики на Хабре.
                                                                                                                    +21
                                                                                                                    Да, обязательно. Это важнейшая часть постановки задачи. Результат этой «несогласованности» красной линией проходил через всю нашу работу.

                                                                                                                    Если не понимать это обстоятельство, то возникает вопрос, зачем вообще всё это нужно, и почему нельзя решить ту же задачу в миллион раз проще, как делают остальные.
                                                                                                                      +3
                                                                                                                      А в чём проявлялась «красная линия», если не секрет? Только если можно не субъективно, а объективно.
                                                                                                                        +30
                                                                                                                        Хорошо, вот некоторые факты без анализа причин. Первое, что в голову приходит.

                                                                                                                        Помехи работе штабов: нападения на штабы, изъятие оборудования, аресты сотрудников и другое административное давление.

                                                                                                                        Руководители кампании провели значительное время под арестом, мы работали над задачей в автономном режиме.

                                                                                                                        Перехват наших SMS-уведомлений предположительно средствами СОРМ одного из регионов (есть серьезные основания так считать из-за характера перехвата).

                                                                                                                        Там скажем, повышенная сложность сдачи подписей, к которой мы готовились. Я уверен, что в прошлый раз было противодействие со стороны избиркома, т.к. они проверяли подписи по устаревшей на полгода базе, мы это увидели по результатам проверки. Соответственно, в этот раз мы готовились к аналогичным помехам с их стороны.

                                                                                                                        Я не утверждаю, что избирком допускает ошибки по причине нелюбви к нам, но ошибки и старая база — это факт. А у наших конкурентов такой проблемы не возникает.
                                                                                                                          –14
                                                                                                                          Ну т.е. вы утверждаете, что с остальными кандидатами («согласованными») ничего подобного не происходит?
                                                                                                                            +2
                                                                                                                            Не напомните, сколько месяцев в прошлом году Путин просидел под административным арестом? Сколько прошло обысков с конфискацией вообще всего в отделениях Единой России?
                                                                                                                              +1
                                                                                                                              А причём тут Путин? Я вам напомню предыдущий диалог:
                                                                                                                              Ремарки вроде «не пускать на выборы «несогласованных» кандидатов» обязательны в технической статье?
                                                                                                                              Очень сильно портит впечатление от описания весьма интересной работы
                                                                                                                              Да, обязательно. Это важнейшая часть постановки задачи. Результат этой «несогласованности» красной линией проходил через всю нашу работу.
                                                                                                                              А в чём проявлялась «красная линия», если не секрет? Только если можно не субъективно, а объективно.
                                                                                                                              Хорошо, вот некоторые факты без анализа причин… А у наших конкурентов такой проблемы не возникает.
                                                                                                                              Т.е. наличие политинформации в статье объяснялось тем, что перед автором и его командой встают задачи, специфические по политическим причинам. Я поинтересовался, уникальны ли эти условия (т.к. если нет, то изначальный посыл не верен и политическая информация в статье не уместна). В результате получил вместо ответа кучу минусов. Хотя у того же «Яблока», например, в московском офисе есть галерея убитых по политическим мотивам членов партии (на всякий случай, я не сторонник «Яблока»). На разные штабы нападали и раньше, и на штабы «Единой России» в том числе. В общем «вы не рефлексируйте, вы распространяйте», как обычно.
                                                                                                                                0
                                                                                                                                и на штабы «Единой России» в том числе.
                                                                                                                                Сколько примерно раз за 2017? Хотелось бы сравнить.
                                                                                                                                В принципе, по остальным партиям тоже можно.
                                                                                                                                  –6
                                                                                                                                  Ну так Гугл вам в помощь. Я вам закину немного ссылок, которые гуглятся с ходу. Но это верхушка айсберга. Дальше если интересно ищите сами.

                                                                                                                                  ЕР:

                                                                                                                                  Вообще на мой взгляд довольно много жести было на Праймариз ЕР в конце весны.

                                                                                                                                  Все остальные:

                                                                                                                                  У Справедливой России с ходу никаких свежих инцидентов не нагуглилось. На штаб Собчак тоже нападали пару раз в декабре. Но там нападения уровня «сорвали плакат», так что я не стал их приводить. По годам я добавил 2016 просто поскольку он попался под руку пару раз. Если делать более масштабную ретроспективу и копать глубже, то вылезет ещё куча интереснейших случаев. Например, помнится году в 2015 в Рязани член СР с пистолетом напал на ЛДПР'овца.

                                                                                                                                  Итого. Политика в принципе дело довольно жёсткое. Причём разборки бывают и межпартийные и внутрипартийные. Бывают федерального уровня и бывают уровня одного города, а то и села. Скулить о том, что конкуренты используют все доступные средства против тебя в политике — это всё-равно что выходить на боксёрский ринг, а потом ныть что тебе дали по лицу. Так что мне не нравится образ великомучеников. Ладно там свой электорат кормить, но здесь заменили бы хотя бы первую картинку на какого-нибудь Френсиса Андервуда и почистили текст от излишнего политического подтекста — стало бы намного лучше.
                                                                                                                                    0
                                                                                                                                    ЕР:
                                                                                                                                    Нападение на активистов «Молодой гвардии Единой России» в Питере (март 2016)
                                                                                                                                    «Казачий бунт» в Анапе (май 2017)
                                                                                                                                    В Свердловской области взломали склад и похитили агитматериалы (август 2017)
                                                                                                                                    Красноярский край, поджог штаба (сентябрь 2017)

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

                                                                                                                                    Скулить о том, что конкуренты используют все доступные средства против тебя в политике — это всё-равно что выходить на боксёрский ринг, а потом ныть что тебе дали по лицу.

                                                                                                                                    Скорее «выйти на боксерский ринг, а потом ныть что тебе дали по лицу кувалдой, а судья на это не обращает внимание».
                                                                                                                                      –3
                                                                                                                                      Ну так кто мешает сравнить? Беру тот же метод — пишу в Гугле «нападение на штаб %name% 2017» и вижу:

                                                                                                                                      Итого имеем нападение на сына некого бизнесмена (мотивы не ясны — политика или бизнес или вообще личное?), случай действительно похожий на погром, нападение на активиста и нападение неадеквата, который ломает стулья. Как по мне так вполне себе паритет. Ещё чуть-чуть полистал, но всякий бред, типа «бабульки заклеили дверь портретами Путина» не добавляю по той же причине, по которой не добавляю «нападения» на штаб Собчак.

                                                                                                                                      Про действия полиции давайте не будем, пользуйтесь Гуглом и проверяйте данные в нескольких источниках. Увидите всякие претензии к арендаторам, которые сдают офис в субаренду и тому подобное. Допускаю что полиция бежит в такие офисы с большей прытью, но в общем и всё. Остальное в рамках закона.

                                                                                                                                      Про удар кувалдой. Это вообще смешно. Удар кувалдой — это про Немцова. Удар кувалдой — это про Бекетова (кстати, сравните со случаем про главу московского штаба). А Алексея и Ко ласково шлёпают по попке.
                                                                                                                                        0
                                                                                                                                        Про удар кувалдой. Это вообще смешно. Удар кувалдой — это про Немцова. Удар кувалдой — это про Бекетова (кстати, сравните со случаем про главу московского штаба). А Алексея и Ко ласково шлёпают по попке.
                                                                                                                                        Это что, «когда убьют — тогда и приходите»?
                                                                                                                                          –2
                                                                                                                                          Нет, это про некорректное сравнение. С Алексеем и его единомышленниками обращаются примерно так же, как и с другими политическими силами. Т.е. по правилам, без всяких кувалд. Можно предположить zero tolerance по отношению к нему и его сторонникам со стороны властей и полиции, но это означает максимально жёсткие действия в рамках закона. Но никто и не обещал что будет легко.
                                                                                                                                            +3
                                                                                                                                            это означает максимально жёсткие действия в рамках закона.

                                                                                                                                            Да, очень законно без ордера и непредставившись ворваться в офис ФБК и забрать всё оборудование. Потом заблокировать офис и несколько дней там что-то делать.
                                                                                                                                            Или законно состороны полиции отвечать, что не могут найти нападавшего на Н., хотя он уже найден и не скрывается. Это первое что сходу вспомнилось. За прошлый год нарушений закона со стороны ВЛАСТИ было множество. Это не по правилам, это то что я назвал «кувалдой».
                                                                                                                                              –6
                                                                                                                                              Про ворваться в офис и забрать — это вы про какой случай? Про Москву, 26 марта 2017? Вообще-то тогда весь бизнес-центр «Омега-плаза» эвакуировали из-за звонка о заложенной бомбе. Ну и далее надо было только отказаться эвакуироваться (а ещё лучше оказать помехи) и попасть под «неподчинение законному требованию полиции». И дальше пошло-поехало. Про 282 УК РФ тоже не до конца понятно, т.к. туда попадает и «возбуждение ненависти к социальной группе». Так что пара неосторожных слов про всех «единороссов» или «депутатов» в прямой трансляции и вполне можно под неё попасть.

                                                                                                                                              Ну и традиционно Гугл показывает, что 282 активно применяется на практике, а телефонный терроризм в прошлом году вообще захлестнул Россию (более 1000 зданий эвакуировано в более чем 10 городах), так что в декабре прошлого же года ответственность за него была ужесточена. А так конечно удобный был метод. Даёшь тыщу забулдыге и выводишь из строя нужный тебе объект на сутки.

                                                                                                                                              «Напавшего» — это в смысле облившего зелёнкой? Не знаю кем он найден и где, но точно не следствием. Хотя конспирологическая версия об украденном из застенок РЕН-ТВ видео, на котором видно лицо нападавшего хороша (видимо, оттуда вам «известен» нападавший?). Ну и, опять таки, сравните с нападением на Бекетова (там, насколько мне известно, тоже нападавших не нашли).

                                                                                                                                              Далее применим стандартный метод — сходим в Гугл. И увидим, что зелёнкой обливали и Митрохина, и Улицкую, и Касьянова, и Варламова, и журналистов и даже (OMG!) депутата-единороса. Что-то из этих случаев удалось расследовать, что-то нет. Но я думаю, что если завтра попрошу друга купить зелёнку в аптеке, потом кинуть в меня, а потом я пойду в полицию с его адресом, фотографией и чеком на зелёнку, то к нему приедут в лучшем случае через пару месяцев. А скорее вообще положат заявление в нижний ящик стола, как хулиганство без причинения сколь-нибудь значительного вреда. Меня тоже удручает что у нашей полиции есть дела поважнее, чем снимать с деревьев котиков и искать яйце-, торто-, зелёнко-метателей, но такова жизнь.

                                                                                                                                              Итого. Вижу zero tolerance, не вижу беспредела.

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

                                                                                                                                              P.S.: Домашнее задание. Не поленитесь, почитайте биографию Алексея в Википедии (довольно объективно написана). Задача со звёздочкой — сравните с официальной версией. Можно было бы ещё много чего рассказать и про то, откуда взялось РосЖКХ (коротко — просто подмяли под себя уже существующий проект «ДомДворДороги») и про то, какая реальная эффективность «отмены» госконтрактов (коротко — крайне низкая) и про то, что сказали бы про Чубайса, если бы он сказал: «Знаете, мы тут за ваши деньги запилили крутой инструмент, но его не к чему применить, так что кладём на полочку»… Но давайте в другой раз и где-нибудь не здесь. Лучше учитесь всё воспринимать критически и Гугл вам в помощь.
                                                                                                                                                +1
                                                                                                                                                Не хотел продолжать политоту, но не могу пройти мимо интерпретации не полного набора фактов.
                                                                                                                                                и попасть под «неподчинение законному требованию полиции». И дальше пошло-поехало.

                                                                                                                                                И это повод выносить технику без протокола и невозвращать её потом? Тут просто незаконные методы, вы это никак не оправдаете, потому что должен быть ордер, протокол, понятые и т.п. Этого ничего небыло. Кстати, вчера повторилось что-то похожее.
                                                                                                                                                Про 282 УК РФ тоже не до конца понятно, т.к. туда попадает и «возбуждение ненависти к социальной группе». Так что пара неосторожных слов про всех «единороссов» или «депутатов» в прямой трансляции и вполне можно под неё попасть.

                                                                                                                                                Вы считаете с этим законом не надо бороться? Кто с ним борется из системной оппозиции? Кто голосовал против его принятия в гос. думе?
                                                                                                                                                «Напавшего» — это в смысле облившего зелёнкой?

                                                                                                                                                Это всмысле выжегшего глаз неизвестной жидкостью (мб и зеленка, но что-то крайне едкая). Т.е. человеку, нанесшему тяжкий вред здоровью.

                                                                                                                                                Не знаю кем он найден и где, но точно не следствием.

                                                                                                                                                Следствию указали на подозреваемого. Следствие заявило что незнает где он находится, хотя он в каждой акции участвует в качестве провакатора — найти его легко.
                                                                                                                                                Далее применим стандартный метод — сходим в Гугл. И увидим, что зелёнкой обливали и Митрохина, и Улицкую, и Касьянова, и Варламова

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

                                                                                                                                                Попробуйте больше опираться на факты и меньше на хайп.

                                                                                                                                                Вы в своем коменте именно игнорируете часть фактов, пытаясь подать всё под zero tolerance. Т.е. абстрактно да — и тут и там облили зеленкой, но какой результат был вы конечно умолчали. Да, бывает полиция изымает технику, но вы умолчиваете, что в этом случае всё было сделано без соблюдения каких-либо процедур.

                                                                                                                                                и информационная визгливость

                                                                                                                                                Путин искупался, Путин порыбачил, Путин достал вазу и т.д. Этот кандидат ЕР тоже проявляет немалую информационную визгливость.
                                                                                                                                                Не поленитесь, почитайте биографию Алексея в Википедии (довольно объективно написана)

                                                                                                                                                Полностью поддерживаю, в вики довольно объективная статья.

                                                                                                                                                Можно было бы ещё много чего рассказать… РосЖКХ… эффективность… Чубайс… Гугл вам в помощь

                                                                                                                                                Вобщем смотрите RT и первый канал, читайте ruexpert, lifenews, ruposters и тысячу блогеров типа Ильи Ремесло. Только запаситесь лапшеснимателем, эти ребята очень любят вырывать из контекста и делать ложные выводы из неполного объема информации.

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

                                                                                                                                                Спасибо за дискуссию, bioroot.
                                                                                                                                                  +1
                                                                                                                                                  PS я когда только присматривался к этому кандидату — специально искал информацию, которая могла бы его опорочить, воспринимал я его очень критически. Тысячу раз уже прошел по всем ссылкам, которые предлагали противники, специально ожидая увидеть что-то плохое. Советую всем поискать и убедиться, что в основном это простое выдирание из контекста.
                                                                                                                                                  Я сделал то же самое, но пришёл к противоположным выводам. Видимо, у нас с вами разный Гугл. Но в любом случае и вам спасибо.
                                                                                                                            +4
                                                                                                                            «т.к. они проверяли подписи по устаревшей на полгода базе, мы это увидели по результатам проверки»
                                                                                                                            А как это возможно, если вы сами сказали, что база никому кроме органов не доступна? Как вы проверяли?
                                                                                                                              +9
                                                                                                                              По результатам проверки составляется протокол, в котором указываются причины браковки каждой подписи. И в нём приводятся данные из базы, которые не соответствуют данным в подписном листе.

                                                                                                                              Вот здесь разбираются примеры из Новосибирской кампании 2015 года: www.leonidvolkov.ru/p/33 и www.leonidvolkov.ru/p/34
                                                                                                                                –2
                                                                                                                                Ну, даже там написано, что ошибок связанных со старой базой — 68 из 400к+. Тогда ещё вопрос – как другим удается собрать все подписи с горкой, а вы при огромной декларируемой поддержке собираете прям впритык?
                                                                                                                                  +3
                                                                                                                                  Где это там написано? В Новосибирске сдавали 11682. Из них 1487 признаны недействительными, из которых 68 — явно из-за устаревших данных в базе (0,6%).

                                                                                                                                  В Новосибирске в 2015 собрали 16000+ подписей, это с хорошей горкой — сдать можно было не более 11722. Лично я участвовал в сборе подписей за Явлинского в Нижнем Новгороде и при лимите в 2750 мы собрали 3000+, при том что оставалось ещё две недели до окончания сбора.

                                                                                                                                  У других (не знаю кого вы имели в виду) может быть больше ресурсов на наём сборщиков или менее строгие требования при проверке подписей, позволяющие подделывать подписи без реального сбора.
                                                                                                                                    +1
                                                                                                                                    Всё так, только категория «Старые данные в базе УФМС» — не менее 363 подписей. Если бы этой категории не было, кандидатов зарегистрировали бы. А ведь есть еще «Ошибки базы УФМС» — не менее 87 подписей. И опечатки всякие на стороне избиркома. В общем, печальная была история…
                                                                                                                                +6
                                                                                                                                По протоколу проверки видим, что про человека пишут «неправильный номер паспорта», а человек паспорт поменял месяц назад, и у нас указан правильный новый номер. Или «неправильная фамилия» у тех, кто недавно вышел замуж. Таких случаев было достаточно много, чтобы примерно понять дату актуальности базы, по которой проверяли.

                                                                                                                                Подробности вот тут описаны: dem-coalition.tilda.ws.
                                                                                                                                  0
                                                                                                                                  Ну собственно выше задал ещё вопрос.
                                                                                                                            +2
                                                                                                                            Но Вы ведь сами пишете про:
                                                                                                                            — Необходимо сдать не более 315 тысяч подписей;
                                                                                                                            — Не менее 300 тысяч подписей должны быть признаны действительными;

                                                                                                                            Плюс
                                                                                                                            сборщик может дорисовывать подписи не только из злого умысла, но и, наоборот, чтобы «помочь штабу»

                                                                                                                            ошибки переписывания паспортных данных в подписной лист и ошибки ввода данных легко исчерпывают допустимый 5% лимит, даже если подписи собираются в комфортных условиях и добросовестными сборщиками

                                                                                                                            И описываете решение задачи по устранению именно такого рода ошибок. И это является абсолютно достаточным и объективным мотивом для проведённой скрупулёзной работы.
                                                                                                                              +13
                                                                                                                              Да, но есть один нюанс: никто раньше такого не делал, а «подписи» как-то принимались.

                                                                                                                              Допустим, начальные условия (закон, риски) у всех одинаковые. Вроде бы, все должны прийти к плюс-минус аналогичному решению. Но я вижу, что другие кандидаты собирают подписи буквально «на коленке». И я уверен, что у них нет достаточно серьезного скрытого уровня учета/проверки, т.к. они не успели бы его сделать. Не сомневаюсь, что нужное количество подписей можно собрать, но без IT-системы там будет 10-15% брака на выходе.

                                                                                                                              И скоро мы узнаем, что избирком принял такие подписи. Запомните этот твит.
                                                                                                                                +5
                                                                                                                                Это не нюанс. Это называется прогресс. Улучшать существующее это нормально. Делать лучше, чем у других это тоже нормально. Так и должно быть.
                                                                                                                                И в этом плане мотивация противостояния работает прекрасно. Тезис про ускорение развития технологий во время войн в очередной раз подтверждается.
                                                                                                                                Жаль, что результат Вашей работы мы не узнаем.
                                                                                                                                  +5
                                                                                                                                  Да только было бы, что улучшать. Даже с такой подготовкой задача собрать 300 тысяч подписей выглядит довольно сложной, а между тем 6 лет назад Прохоров «собрал» 2 миллиона. Что за волшебная инфраструктура позволила ему это сделать?
                                                                                                                                    –6
                                                                                                                                    image
                                                                                                                                      +1
                                                                                                                                      Собрать 2 миллиона не проблема. Проблема это выбрать из них 315 тысяч (больше избирком просто не принимает) которые избирком проверит пристрастнее чем подписи за других кандидатов. И поэтому там не должно быть ошибок.
                                                                                                                            –26

                                                                                                                            Чисто техническая статья без политики у Вас не получилась. Как ни крути, все равно основная цель написания — пиар.

                                                                                                                              +44
                                                                                                                              Как будто это что-то плохое. На хабре 90% статей пишутся ради личного/корпоративного пиара.
                                                                                                                                –27
                                                                                                                                Одно дело пиар компаний, другое дело — политика.
                                                                                                                                  +3
                                                                                                                                  А в чем разница?
                                                                                                                                    –2
                                                                                                                                    Серьезно? Вы не видите разницы?
                                                                                                                                      +6
                                                                                                                                      Не вижу разницы. Мне нравится Apple, не нравится Андроид. Я просто не читаю новости про Андроид. Мне нравится Навальный, не нравится Путин. Я просто не читаю новости про Путина :) Как видите — разницы между компанией и политиком — нет.
                                                                                                                                    0
                                                                                                                                    А пиар компаний, которые занимаются лоббизмом — это политика?
                                                                                                                                  +27
                                                                                                                                  Как могут так и пиарятся. По крайней мере не так навязчиво как другие кандидаты, смотрящие с плакатов и экранов зомбоящиков. Профессионализм и вдумчивость подхода впечатляет.
                                                                                                                                    –3
                                                                                                                                    Зомбоящик — это монтор смартфона, показывающий Ютюб?
                                                                                                                                    +33
                                                                                                                                    Побольше бы такого пиара! С точки зрения политической рекламы невероятно неэффективное действие: тут недели подготовки и 50k просмотров.

                                                                                                                                    Пожалуй, соглашусь, что это в какой-то мере пиар IT-отдела. Это отчет о хорошей проделанной работе. Мне бы хотелось показать, насколько крутые разработчики, дизайнеры и менеджеры есть в нашей команде, и насколько сложный проект мы реализовали. Следите за постами, будет еще интереснее!
                                                                                                                                      +1
                                                                                                                                      Про вашего кандидата и так все слышали, а вот подобные IT решения забавно сравнивать с официальными гос. поделками. Жаль, конечно, что необходимо прибегать к подобным решениям для достижения цели.
                                                                                                                                      –6

                                                                                                                                      Кому аккаунт не хочется терять (со статьями и тп) лучше воздержаться от комментариев под такими около политическими постами.
                                                                                                                                      Видимо, на хабре есть группа из нескольких десятков неадекватов, которые минусуют все комментарии кроме "Спасибо, пишите еще." + карму.

                                                                                                                                      +4
                                                                                                                                      куда делось верхнее меню на странице «Забастовка»?
                                                                                                                                        +8
                                                                                                                                        Могу только сказать, что так и задумано. Почему — не знаю.
                                                                                                                                        Там скоро будут обновления.
                                                                                                                                        0
                                                                                                                                        по ссылке:
                                                                                                                                        одна из основных задач сайта «Навальный 20!8», поэтому форма регистрации есть почти на каждой странице.

                                                                                                                                        пишет:
                                                                                                                                        Этот сайт не может обеспечить безопасное соединение

                                                                                                                                        На сайте 2018.navalny.com используется неподдерживаемый протокол.
                                                                                                                                        ERR_SSL_VERSION_OR_CIPHER_MISMATCH

                                                                                                                                        Клиент и сервер поддерживают разные версии протокола SSL или набора шифров. Скорее всего, сервер использует шифр RC4, который считается небезопасным.

                                                                                                                                        Стоит ХР, Хром Версия 49.0…
                                                                                                                                        Почему так? И… что делать?
                                                                                                                                          +11
                                                                                                                                          Это из-за XP. Был очередной DDoS (в связи с этим материалом, наверное), включили проброс всего трафика через CloudFlare. Там на базовых тарифах выдают такие SSL-сертификаты, которые не поддерживаются в XP. Пока не знаю, чем помочь. Можно зайти из более современной операционной системы и браузера.
                                                                                                                                            –2
                                                                                                                                            Пока не знаю, чем помочь.

                                                                                                                                            Уверен, что выход есть. Даже без обновления Win и покупки нового компьютера.
                                                                                                                                            Надеюсь — подскажут. Странно — такое у меня впервые.
                                                                                                                                            Какие еще сайты приведут меня к такому же результату?
                                                                                                                                              +5
                                                                                                                                              вам придется что то поменять, так как хром более не поддерживает XP, следовательно у вас стоит старая версия хрома, которая опять же не поддерживает такие ssl сертификаты.

                                                                                                                                              попробуйте другой современный браузер, который будет работать на XP
                                                                                                                                                +7
                                                                                                                                                попробуйте другой современный браузер, который будет работать на XP
                                                                                                                                                Такие уже кончились. Ни один современный более-менее известный браузер (имеется в виду последняя версия браузера) не поддерживает Windows XP.

                                                                                                                                                bipiem, можете установить любую актуальную операционную систему. Например, Debian 9 с XFCE.
                                                                                                                                                  +3
                                                                                                                                                  Firefox ESR?
                                                                                                                                                    0
                                                                                                                                                    geektimes.ru/post/293773 Посмотрим, когда Intel нормальные заплатки от Spectre выпустит, и если под 775 сокеты не будет патчей, вполне можно переходить на *nix.
                                                                                                                                                      0
                                                                                                                                                      Следующая версия ESR не поддерживает XP, а текущая доживает свои 2-3 месяца.
                                                                                                                                                      0
                                                                                                                                                      SeaMonkey последней версии нормально работает под XP.
                                                                                                                                                        0
                                                                                                                                                        Есть кучка браузеров на основе Chrome и FF, до сих работающие в XP. K-meleon, Slimjet, Iron.
                                                                                                                                                      +6
                                                                                                                                                      Firefox при таких бедах под XP помогал, он использует свою версию SSL а не виндовую.
                                                                                                                                                      Сайты есть и их прилично например oscarliang.com
                                                                                                                                                      PS. Но я помогал с ошибкой ERR_SSL_VERSION_OR_CIPHER_MISMATCH а не конкретным сайтом.
                                                                                                                                                        0
                                                                                                                                                        Столкнулся с той же проблемой на ХР. Решение простое — сайт navalny.com прекрасно открывается из Tor browser
                                                                                                                                                          0
                                                                                                                                                          Правильное решение! И еще один аргумент за наличие на компе ТОРа.
                                                                                                                                                          Это и есть «современный браузер», поддерживаемый ХР.
                                                                                                                                                        +1

                                                                                                                                                        У CF нормальный тариф стоит 20 долларов в месяц, на котором не только EC, но и классические RSA. Думаю, $20 не такая уж большая цена за спокойствие.

                                                                                                                                                          0
                                                                                                                                                          С одной стороны, прошло уже 3 года с момента окончания поддержки Windows XP, и я считаю, что поддерживать Windows XP нет никакого резона.
                                                                                                                                                          С другой стороны, на сервисы Google все еще можно зайти с Windows 98, у них специальная поддержка особо отсталых систем и браузеров.
                                                                                                                                                            0

                                                                                                                                                            Проще всего объявить что-то устаревшим и несовместимым. Это просто easy way.

                                                                                                                                                              +1
                                                                                                                                                              Если для ОС не выходят обновления безопасности, то ОС мертва. Для XP нужно прикладывать дополнительные усилия в разработке программ, т.к. там много расхождений с 7/8/10.
                                                                                                                                                                0
                                                                                                                                                                Мертвые лежат в могиле, ну или в мавзолее / музее.
                                                                                                                                                                А XP не мертва, она скорее зомби — разлагается, уже дурно пахнет, но все еще ходит. Вот что происходит после End of Life. Причем ходит не так уж-то и сильно хуже, чем некоторые живые.