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

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

Вначале я просто хотел приехать в московский штаб, но потом увидел в сетях слова вроде «записаться на верификацию», поэтому зашел на сайт https://2018.navalny.com/ и действительно увидел там соответствующий раздел. На сайте подробно описано, зачем нужна предварительная верификация, но если коротко — чтобы впоследствии успеть в сжатые сроки подать самые-самые качественные подписи.

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

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

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

Утром пришла заботливая SMS из штаба с напоминанием о том, что сегодня я записался в штаб.

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

К 11-ти утра мы были на месте. Поворот с улицы к штабу никак не обозначен — символику Навальному не дали там никакую повесить. Однако и с улицы был виден красный шар у штаба, так что штаб нашли сразу.

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

Пока было время до старта сбора подписей мы сфотографировались на фоне того самого фона.

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

Чуть позже нас сразу начали приходить люди — от млада до велика. И пожилые и молодые.

Кстати, застали и неприятность — пришла арендодатель, стала требовать Николая Ляскина. Я бы и сам был не против его потребовать, т.к. так сложилось, что давно не виделись и я надеялся его застать. Но судя по сетевому аккаунту Ляскина его сегодня не только арендодатель штаба требовал, но и полиция. Штаб московский в очередной раз хотят выселять, т.к. как мы знаем в огромной Москве по факту запрещена любая здравая политическая деятельность и давление на арендодателей всегда большое.

В общем, по итогам. Верифицироваться надо. Сделать это легко. И, что важно, происходит верификация подписей быстро.

Спасибо сотрудникам московского штаба за оперативность.

18:30 — REGNUM Бывший заместитель начальника так называемого «предвыборного штаба» оппозиционного блогера Алексея Навального в Москве Виталий Серуканов опубликовал видеоролик, в котором он раскрывает истинный смысл «президентской кампании» Навального и рассказывает о том, как оппозиционер обманывает своих сторонников. Ролик был опубликован сегодня, 21 декабря, на видеохостинге YouTube, а также на странице Серуканова в американской социальной сети Facebook.

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

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

«Московский штаб — это был такой спецпроект, очень обособленный, который решал ключевые задачи для вообще всей кампании на федеральном уровне», — рассказывает Серуканов.

Однако в начале декабря начальник федерального штаба кампании Навального и его ближайший соратник Леонид Волков привез в Москву своего друга — Сергея Бойко, который был координатором новосибирского штаба Навального. Волков решил назначить Бойко координатором московского штаба Навального, несмотря на то, что прежняя команда штаба отработала вместе уже более восьми месяцев, рассказывает бывший заместитель начальника столичного штаба оппозиционера.

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

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

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

Насколько реальна вся «кампания Навального», судить сложно, однако сам блогер на просторах интернета утверждает, что открыл 84 региональных штаба, в которых работают чуть ли не 200 тыс. волонтёров, которые собрали уже около 700 тыс. подписей в его поддержку.

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

По словам Серуканова, московский штаб за все месяцы кампании Навального собрал только 14 тысяч подписей, хотя план был на этом этапе собрать 100 тысяч подписей. Верификация этих подписей провалилась, никаких целей стратегических у неё не было, так как никакого результата в дальнейшем это принести не могло — подписей слишком мало.

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

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

В этой связи особенно актуальной становится возня вокруг несанкционированной акции 24 декабря в Москве, которую затеял давний соратник Навального, муниципальный депутат Красносельского района Москвы Илья Яшин.

Этот Яшин, пользуясь полномочиями муниципального депутата, решил провести «местный праздник» в Лермонтовском сквере. «Праздник» этот назван Яшиным «День свободных выборов». Навальный активно призывает своих сторонников явится на это «мероприятие».

Власти города заявили, что с ними никто не согласовывал никаких «местных праздников», и любые массовые акции подобного рода являются незаконными. Позднее Мосгорсуд отменил постановление совета депутатов Красносельского района о проведении «Дня честных выборов» в Лермонтовском сквере.

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

«24 декабря (акция Яшина — ИА REGNUM ) готовилось достаточна давно. Соратники Навального понимали, что нужен «плавный переход» от «классического этапа» компании, который провалился совершенно, к этапу «бойкота» выборов президента», — рассказывает Серуканов.

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

«24 декабря — это такой старый добрый трюк ФБК — уйти от ответственности, уйти от заведомого провала обычным «революционным месседжем». Всегда всё можно будет свалить на власть, которая заведомо не согласовала это мероприятие. И были выходы, как поступить иначе — митинг Гудкова на проспекте Сахарова, где бы никого не задерживали», — подчеркивает бывший соратник Навального.

Серуканов указывает, что Навальному и его команде «нужны задержания, нужна волна арестов, нужно очень много шума, нужно показать, что есть какие-то преследование кампании». Всё это нужно потому, что по-другому провал кампании Навального не замолчать. Кроме того, жертвователи компании, которые переводили Навальному средства, уже давно требуют предоставить хоть какую-то статистику по подписям — а предоставить нечего.

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

«Мы не смогли вселить в души волонтеров то, что нас ждёт успех. Это прежде всего вина Волкова, но и вина Навального, который отдал всё на откуп Волкову и не интересовался никакими процессами в кампании. Но Волков-то отбывает административный арест, а есть люди с 26 марта, которые уехали в тюрьму на несколько лет, а то и больше», — подытожил бывший соратник Навального.

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

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

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

Код листа состоит из 6 символов. Можно использовать цифры и буквы латиницы, имеющие графические аналоги в кириллице (в формах можно писать в любой раскладке). Для удобства добавили разделители: 91−X7−BA.

Этот же идентификатор печатается в виде QR-кода для автоматического распознавания на различных этапах работы. QR-коды победили по надежности и скорости распознавания все другие виды штрихкодов.

Жизнь штабов полна трудностей, поэтому QR-коды тщательно тестировали в различных стрессовых для листов ситуациях…

… и решили, что трех кодов будет достаточно, чтобы обработать любой живой лист.

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

Каждый лист (точнее, идентификатор листа) создается в базе, после чего его можно распечатать на бумаге формата A4. Но нельзя просто взять и напечатать лист на ближайшем принтере. По закону изготовление подписных листов должно быть оплачено с избирательного счета кандидата. Обычно их изготавливает внешний подрядчик. Поэтому мы сделали техническую сторону максимально дружественной и гибкой. Листы или печатаются прямо из браузера, или предварительно сохраняются в многостраничный PDF-файл, который можно передать подрядчику любым удобным способом.

Сыч: подготовка к сбору подписей

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

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

Состав Сыча

Бэкенд с RESTful API: Python 3.6, aiohttp, aiohttp_admin, SQLAlchemy.
Базы данных: PostgreSQL, Redis.
Демон уведомлений.
Демон распознавания номеров паспорта.
Демон для сборки аналитики.
Сервис проверки паспорта по его номеру.
Коробочная версия Кладр-API для работы с адресами (PHP 5.6 + MongoDB).

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

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

Взаимодействие с сайтом «Навальный 20!8» велось через API, который защищен токеном и доступен только по локальной сети между виртуальными машинами.

Запись на верификацию

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

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

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

Уведомления

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

SMS-уведомления отправлялись для напоминания о записи за три часа и для информирования о том, что штаб отменил запись. Очередь уведомлений была сделана по тому же принципу, что и на сайте «Навальный 20!8»: таблицы в БД с сообщениями, которые отправлялись группами через почтовые и SMS-шлюзы.

Распознавание паспортных данных

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

Аналитика Сыча

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

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

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

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


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

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

Всего в аналитике выводилось более 50 показателей. Гибкости SQLAlchemy хватило, чтобы ни разу не перейти на чистый SQL и чтобы код оставался читабельным. Для наиболее трудозатратных показателей сначала сделали кэширование в Redis, но оказалось проще периодически обсчитывать их в бэкграунде и при запросах брать из файла.

Жнец-2018: система для сбора подписей

Параллельно с ходом верификации разрабатывалась система для сбора подписей. За основу была взята архитектура системы, использованной в Новосибирске и умеющей работать с физическими объектами - листами и подписями.

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

Интерфейс оператора

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

1. На момент выборов он должен быть старше 18 лет.
2. Если избирателю 20 или 45 лет, у него должен быть новый паспорт.
3. Паспорт не должен числиться в списке недействительных.

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

Сейчас в базе более 110 миллионов записей (серии и номера паспортов). Для быстрого поиска при небольшом объеме базы и индексов была придумана такая схема: в PostgreSQL создается таблица с миллионом записей, первичным ключом в которой является номер паспорта (от 0 до 999999), а во втором поле записаны все серии недействительных паспортов для этого номера. Для уменьшения объема серии переведены в бинарный формат (по два байта) и сжаты с использованием zlib (просто захотелось). Исходно база занимает около 1 Гб без учета индексов. После обработки получается 260 Мб вместе с индексом. Одна запись проверяется в среднем за 15 мс.

0,6% паспортов людей, проходивших верификацию, нашлись в базе недействительных паспортов. Это значит, что без такой проверки мы бы потратили 12% от лимита недействительных подписей только на данный вид ошибок.

0,88% паспортов нам не подошли, поскольку гражданину исполнилось 20 или 45 лет, но он еще не заменил паспорт. И это еще 18% от лимита недействительных подписей.


В подписном листе 4 колонки, заполняемые оператором: ФИО, год рождения, номер паспорта и адрес постоянной регистрации. Все эти данные проходили через Жнеца для проверки и коррекции возможных ошибок. Например, в полях для имени и отчества работает поиск опечаток:

Для подсказок по именам в API есть метод, который сравнивает значение с большим списком и возвращает три варианта ответа:

Все OK, есть такое имя;
- есть похожее имя (такое-то);
- неизвестное имя (редкое имя или серьезные ошибки в написании).

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

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

Сканирование документов

Для получения изображений документов мы используем сканеры собственного производства, а в качестве операторской станции - Raspberry Pi. Подробно это описано во .


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

Изображение получается на клиентской стороне из HTML 5 Canvas API и отправляется на сервер в виде строки base64, в которой лежит JPEG. С точки зрения фронтенда сканеры могут работать в двух режимах: USB web-камера и стриминг видеопотока с компьютера в локальной подсети. Сыч работает только с USB-камерами, а Жнец-2018 позволяет переключаться между режимами. Оператор сам выбирает, какой сканер использовать.

С выбором видеопотока соседних компьютеров возникла небольшая проблема: столы и сканеры можно двигать, а операторы могут пересаживаться. Мы не знаем, какой сканер окажется рядом с оператором в следующий раз. Пришлось перебирать штабную подсеть и дать оператору возможность выбрать любой из живых сканеров. Но оказалось, что сервер видеотрансляции сканера, хоть и ставят корректные CORS-заголовки (Access-Control-Allow-Origin: *), не отвечают на OPTIONS-запросы. Браузер запрещал ajax-запросы на соседние хосты, из-за чего для поиска не получалось использовать обычный jQuery.ajax(). JSONP-запросы тоже не помогли, поскольку их не получалось отменить программно, а несколько десятков ожидающих запросов полностью блокировали страницу. Решить проблему помогли картинки. Мы добавляли в DOM теги и прописывали им src видеопотока. Если картинка меняла размеры в соответствии с размерами потока, то поток считался живым и показывался оператору.

Отображение видеопотока в браузере заметно нагружает скромные процессоры Raspberry Pi, поэтому нам пришлось сделать «скринсейвер»: после 5 минут бездействия браузер ставит трансляцию на паузу.

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

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

Обработка адресов

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

К адресу регистрации есть большой список юридических требований. Например:

Это должен быть адрес по базе ФИАС (федеральная информационная адресная система);
- для переименованных улиц нужно указывать новые названия, даже если в паспорте было старое;
- законом устанавливается определенный формат иерархии адресных объектов, которые нужно записать (например, нельзя указывать городской район).

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

На сборе подписей в Новосибирске из-за претензий к полю «адрес» были признаны недействительными около 3,5% подписей. И это 70% от лимита, который установлен для подписей за выдвижение кандидата в президенты.

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

Мы стараемся, когда это возможно, не использовать API сторонних сервисов, чтобы не отдавать данные о наших пользователях и чтобы не оказаться в ситуации, когда API внезапно выключат в самый ответственный момент. Работа с адресами - критическая для сбора подписей функция, поэтому нам пришлось сделать свой API к базе ФИАС.

В базе ФИАС пока еще нет достаточно качественных и полных сведений о домах и квартирах, поэтому мы остановились на уровне улиц. В таком виде база со всеми дополнительными построениями весит около 2 ГБ и вполне комфортно живет в виде PostgreSQL. Для импорта использовались модифицированные скрипты из репозитория fias2pgsql .

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

После серии экспериментов мы остановились на форме из трех полей:

Субъект РФ - он есть всегда, это самое понятное поле;
- адрес по ФИАС - поле с автодополнением по адресам данного региона внутри ФИАС;
- дом/корпус/квартира - строка, куда данные переписываются точно в соответствии со штампом о постоянной регистрации.

Юристы составили таблицу преобразований адресов, при помощи которой мы приводили адреса ФИАС в формат, соответствующий законодательству о выборах. Чаще всего нужно было исключить один из элементов адреса. Какие-то адреса исключали целиком (гаражные кооперативы, дворовые территории и другие подобные объекты). IT-отдел получал таблицу с правилами, а юридический отдел в ответ получал по 10 примеров на каждый из 44 типов адресов.

После нескольких таких итераций база была готова к работе.

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

Sphinx индексирует поле адреса, записанное в формате XML. Такой формат хранения оказался удобен тем, что все метаданные можно спрятать в XML-атрибуты, которые Sphinx не использует для поиска, но держит в памяти и возвращает в результатах без дополнительного обращения к базе данных. Где-то на фронтенде эти атрибуты используются для формирования красивой строки адреса.

Решение получилось удобным и быстрым. Один запрос к suggest API выполняется за 15–20 мс, бэкенд спокойно обрабатывает 300 одновременных соединений на не самой мощной виртуалке.

Заполнение подписного листа

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

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

Мы разработали такие сценарии работы оператора, которые уменьшают вероятность возникновения типичных ошибок. Заверительные надписи листов «домашнего» региона (около 80% подписей будут из региона, в котором находится штаб) заполняются сборщиком заранее, в спокойной обстановке. Для всех блоков листа Жнец показывает, как именно они должны быть заполнены.


Интерфейс заполнения имитирует реальный подписной лист, который в данный момент лежит на столе перед оператором. Показаны занятые строки, колонки для заполнения, номер листа, крупно - данные для внесения.

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

После заполнения всего листа на нем проставляется дата и подпись сборщика. Лист передается на проверку.

Проверка подписей, работа с листами в штабе

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

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


Все имена и другие данные на изображении являются выдуманными

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

Смайлики и нейрофизиология счастья

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


Иконки в виде смайликов хорошо соответствуют смыслу статусов, которые проверяющий может присвоить подписи: «хорошая», «есть проблемы», «плохая». Были некоторые сомнения со смайликом «показать юристу», но мы с этим справились.

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

Отправка листов

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

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

После сканирования листы упаковывают и отправляют в Москву.

Детали форм

Все паспортные данные вводятся и отображаются моноширинным шрифтом Source Code Pro Regular. В нем ноль легко отличить от буквы «О», а символы достаточно похожи на те, что обычно используются в современных паспортах.

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

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

Логистика и физическое хранение листов

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

Немного фактов о физике процесса

Нам нужно сдать 315 тысяч подписей. Для этого, с учетом региональных квот и запаса на различные ошибки, нужно собрать и обработать около 1 миллиона подписей. На каждом листе может быть максимум пять подписей, но в реальности будет где-то 3-4. Это дает нам, грубо говоря, 300 тысяч листов.

Лист бумаги формата А4 имеет площадь 1/16 м².
Плотность обычной офисной бумаги - 80 г/м², каждый лист весит 5 г.
Высота пачки из 500 листов - 4,5 см для чистых листов, более 6 см для заполненных.

Получается, все собранные листы будут весить 1,5 тонны, а сложенные в одну пачку они будут около 36 метров в высоту.

Как все это хранить?

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

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

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

Для быстрого доступа была придумана система индексации физической базы листов. Индекс состоит из нескольких уровней: штаб (ящик), коробка, папка. Адрес папки в архиве выглядит так: 77−1−15. Внутри каждой папки лежит 25 листов (в произвольном порядке).


На левой верхней картинке - коробка на 500 подписных листов в бумажных папках.
На правой картинке - ящик на 2000 листов в подвесных папках.

Получение и сортировка листов

Все листы, приезжающие из регионов, сканируются автоматическим двухсторонним сканером (он уже был в офисе, поэтому не пришлось собирать его самим из LEGO и Arduino). Этот аппарат умеет заливать результат на сервер по SFTP. Там сканы прогоняются через python-скрипт, который ищет QR-коды в стандартных местах, распознает их и привязывает сканы к общей базе данных. Скрипт надежно обрабатывает даже мятые листы.

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

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

Бэкенд

Жнец-2018 сделан на Django со стандартным шаблонизатором и ORM. В качестве базы данных используется PostgreSQL. Служебные части системы - ФИАС, проверка паспортов, работа с данными предварительной регистрации - вынесены в отдельные модули (django app) со своими базами данных.

Физический мир подписей представлен в виде нескольких классов объектов: подписной лист, строка в листе, подпись. У объектов этих классов есть атрибуты, отражающие состояние объекта в реальном мире. Для управления состояниями использован шаблон «конечный автомат» (машина состояний, finite state machine) и библиотека django-fsm. Все переходы между состояниями прописаны в виде FSM-транзакций, внутри которых проводятся необходимые проверки и дополнительные действия с объектом.

Схема состояний выглядит примерно так:

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

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

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

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

Сбор подписей сильно ограничен по времени, а значительная часть этого времени приходится в этот раз на новогодние праздники. Мы ожидали, что нагрузка на штабы и систему сбора будет неравномерной. Важно было, чтобы система легко справлялась с любым реалистичным потоком подписей. В пиковые моменты ожидалось до 10 тысяч подписей за час. Для обычного веб-сайта это выглядит несерьезно, но в нашем случае такой порядок «посетителей» может создать большую нагрузку на сервер. Это не просто посещения или регистрации: получение каждой подписи предполагает около 50 запросов к серверу и обработку нескольких изображений высокого разрешения.

Нагрузочное тестирование проводилось при помощи Locust . Это простой инструмент, доступный через PyPI. Сценарии описываются в виде кода на питоне, примерно как юнит-тесты в Django:

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

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

Мониторинг

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

Zabbix отслеживает состояние всех виртуальных машин проекта.

Elasticsearch собирает логи nginx со всех виртуалок, Kibana показывает это в виде графиков.

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

Гусь

Это функциональный мониторинг, чем-то похожий на uptime.com , только самодельный. Бэкенд построен на django, очереди сделаны на celery с бэкендом в redis.

В Гуся добавляются домены проектов. Для каждого домена указываются адреса, которые нужно мониторить, интервал проверки и тип проверки. Можно проверять сертификат, контент, HTTP-заголовки, редиректы и еще что-то полезное.

Если что-то пошло не так, Гусь умеет отправлять письма и SMS или звонить среди ночи и человеческим голосом объяснять ситуацию (для звонков и синтеза речи используется сервис Twillio).

В веб-интерфейсе всегда видно, на каких доменах есть ошибки и как дела у очереди проверок. Каждую минуту делается по 20-25 проверок.

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

    Когда неловкая российская бюрократическая и правоохранительная махина начнёт ставить “заслон” политическим инициативам Навального, его сторонники, вовлеченные в многомесячную избирательную кампанию и потерпевшие неудачу, не смогут воспринять это отстраненно. Поражение Навального станет личным делом многих людей, которые в разной степени и формах будут что-то противопоставлять упомянутому “заслону”.

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

    Поразительно, но участвующим в процессах более-менее понятны обрисованные перспективы: известен modus operandi “рвущегося к власти” Навального, так же как и неизобретательность действующей власти.

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

    Зарубежные “партнёры” будут делать это с ещё большей и даже возрастающей к выборам охотой. Заложником как всегда будет население.

    Тем удивительнее скупость предостережений и объяснений. К настоящему моменту официальная оценка перспектив участия А.Навального в избирательной гонке сводится к пресс-релизу ЦИК РФ и интервью Э.Памфиловой
    http://www.cikrf.ru/news/cec/2017/06/23/01.html

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

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

    У действующей власти есть формальные основания, чтобы препятствовать выдвижению Навального на пост президента РФ - Конституция РФ, Федеральный закон № 67-ФЗ, статья 280 УК РФ и т.д.

    Этого уже недостаточно, чтобы снять деятельные возражения (в духе выступлений 2011-2012 г.) по поводу легитимности транзита власти в 2018 году (да и 2024 год не за горами).

    Затянувшемуся "политическому эксперименту" с выдвижением Навального на пост президента РФ, в который вовлекается всё больше граждан России, требуется дать исчерпывающую характеристику.

    Яростные оппоненты Навального уже отметились документальными фильмами, новыми видеороликами с участниками следствия по делу "Кировлеса"… появился корпус фактов о деятельности Навального (сайт Navalnyleaks), в медиа ударно работают его последовательные критики, напоминая о тёмных пятнах биографии молодого политика, придираясь к внешним данным, ошибкам и передёргиваниям в его выступлениях.

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

    Причина 1. Главная политическая ошибка Навального.
    Можно по-разному относиться к не самым “парадным” проявлениям деятельности Навального:
    -- взаимоотношениям с националистами, иностранными дипломатами, Белковским, Браудером, своими сторонниками и оппонентами,
    - финансовым расчетам с Гайдар, Белых, Ашурковым, Кировлесом, Ив Роше,
    - операциям с недвижимостью, приобретению адвокатского стажа, высокооплачиваемой юридической практике и т.д.
    Это скорее соответствует “свойствам эпохи" первоначального накопления капитала и издержкам профессии политика.
    Важнейшему, роковому звену в политической карьере Навального (март 2014) уделяется сравнительно мало внимания.

    27 февраля 2014 года Верховный Совет Автономной Республики Крым проголосовал за проведение референдума "по вопросам усовершенствования статуса и полномочий" региона, предполагавший голосование по вопросу "государственной самостоятельности" АРК. Через несколько дней сроки референдума перенесли, а 6 марта решено изменить идею и сразу ставить вопрос о вхождении в состав России.
    Это без преувеличения стало поворотным моментом Истории 21 века.

    Чтобы показать всю серьёзность намерений, Обама (6 марта же) расширяет сферу национальной чрезвычайной ситуации США.Это решение ляжет в основу всей конструкции “международных санкций” против России.
    Конкретные санкции и “вектор их усиления” будет намечен в течение последующих нескольких дней.

    Принятие решений “по России” администрацией США в марте 2014 года произошло не на пустом месте. Оно не было беспочвенным, и обосновывалось рядом экспертных заключений, рекомендациями профильных ведомств США, протоколами совещаний, замерами информационного фона и общественного мнения.

    Главная на сегодняшний момент ошибка Навального произошла между 6 и 19 марта, когда был определен вектор давления на Россию и способы без преувеличения мирового противостояния.

    5 марта Навальный, который по условиям домашнего ареста ограничен в коммуникациях с внешним миром, чтобы не нарушать правила, прерывает молчание и объявляет себя “коллективным Навальным”.

    12 марта “коллективный Навальный” публикует "развёрнутую позицию по Украине”: “сам придумываю вопросы и сам же на них отвечаю на бумажке”, с голосовалкой, с множеством дискуссионных моментов. Одновременно ФБК Навального проводит замер общественного мнения - "всероссийский телефонный опрос" по событиям на Украине и в Крыму.

    Но почти ни один из тезисов "позиции" Навального, как и результаты инсценированного им опроса не войдут в его статью “How to Punish Putin”.
    "Как наказать Путина" - единственная заметка Алексея Навального в “Нью-Йорк таймс” за всю его теперь уже долгую политическую карьеру. Он вообще, ни до, ни после, не выступал в зарубежной прессе с публикациями в подобной стилистике.

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

    До сих пор Навальный ни разу не прокомментировал, как сложились условия "выхода" заключенного под домашний арест политика на широкую зарубежную аудиторию.
    Посольство США в России вышло с предложением к Навальному сообщить свои мысли, пояснить, что происходит, провести опрос, как это оценивают рядовые граждане? Редакция “Нью-Йорк таймс”?
    Гарри Каспаров?
    Сам (ограниченный в коммуникациях) Навальным стал искать возможности понять, что думают про Крым российские граждане, а потом сообщить иностранному истеблишменту свою точку зрения?
    Помогли неизвестные “доброжелатели”?

    Причины роковой для Навального ошибки неизвестны.
    Но практически одновременно со вторым указом Обамы о санкциях самый популярный в России оппозиционный политик, недавний кандидат на пост мэра столицы… представляет свой взгляд на воссоединение с Крымом, оценивая происходящее, как основание для дальнейшего раскола элит, падения рейтинга Путина и смену власти в России.

    В условной папке для принятия важнейших государственных решений кроме секретных сводок, оперативной информации и заключений экспертов обычно находится “информационный срез” по тому вопросу, который требуется решить.
    Каждый может поискать в Интернете подборки зарубежных мартовских заметок относительно ситуации в Крыму - вроде этой, подготовленной для дебатов американских студентов
    http://ctdebate.org/PDFs/CDAPacket22Mar14.pdf

    Большая политика вырастает не из какого-то особого сора. Функционерам бюрократической машины США не до нюансов истории Крыма, большинству бюрократов США так же как большинству бюрократов в любой стране плевать на “тонкости”.
    Политические события в других странах обычно интересны функционерам в той мере, которая позволяет приписать себе как результат работы (и получить премию).
    В марте 2014 года “How to Punish Putin” с точностью до 100% помещалась в различные папки для принятия администрацией Б.Обамы ключевых государственных решений.

    Статью можно назвать одним из результатов деятельности политиков США, даже если они не приложили никаких усилий к её написанию.
    Критики Навального характеризуют заметку как свидетельство работы Навального на Запад, Госдеп, ЦРУ…Ситуативно /или по "инструкции"/, но Навальный действительно следовал в русле проводимой США политики.
    https://twitter.com/SenJohnMcCain/status/446715482968973313

    Даже если всё случайно “совпало”: заключенный под домашний арест Навальный и его помощники сделали всё сами (связались с “Нью-Йорк таймс”, подготовили и перевели статью, очень органичную восприятию западного читателя…) “How to Punish Putin” четко ложится в канву мартовских и последующих действий администрации США.

    Статья не воспроизводит, а скорее противоречит отдельным тезисам, которые излагал Навальный для российской аудитории и результатам опросов ФБК.
    Зарубежным экспертам удобно работать с текстом маркером. Навальный сразу докладывает, что:
    -- он демократический политик, получивший треть голосов на выборах мэра, связанный дружескими связями с Украиной, блог которого посещают 2 млн.человек в месяц,
    -- “русский народ скоро устанет от пустых обещаний президента [Путина]”
    -- “Россия направила свои войска на Украину” и это действия против интересов России, поэтому “я не могу поддержать…”
    -- “даже среди наиболее националистически (sic!) или просоветски настроенных граждан России, стремление воссоединить Крым с Россией исчезло (sic!) много (sic!) лет назад” /сравните с "то, что Крым случайно "достался" Украине - это неправильно, несправедливо и обидно любому нормальному жителю РФ" в "развёрнутой позиции"/.

    Сухо и предметно рассказывает:
    -- о “поляризации” представителей российской элиты в связи с действиями России в Крыму (“многие из которых рассматривают его как безрассудное”),
    -- о том, что дальнейшие санкции помогут создать условия для противодействия элит Путину и т.д.

    Маркеру бюрократа есть, где разгуляться:
    imperialist annexation - “империалистическая аннексия” /именно в таком сочетании действия России в начале марта 2014 мало, кто оценивал - скорее “разводили” два этих слова в разные концы предложения/.
    “им [Путиным… с царскими полномочиями] движет желание отомстить украинскому народу за восстание против дружественного Кремлю правительства”

    Адаптированный для голливудского зрителя эмоциональный окрас?
    В "развёрнутой позиции" этого не было: ни империализма, ни исчезнувшего стремления воссоединения, ни ненависти царя Путина.
    Многие смысловые конструкции Навального так и просятся в блокбастер и/или экспертную сводку для Барака Обамы.

    Навальный деликатно представил выход заметки в своём блоге: "Написал на эту тему колонку в Зе Нью Йорк Таймз, рассудив, что в России и так поддержат любые органичения против чиновников, значит надо писать туда, где это прочитают мировые илиты".
    Илиты, Зе Нью Йорк Таймз… - подспудно Навальному уже в тот момент неловко за этот акт своего творчества?

    Сейчас неважно, был ли это посол США, который перед отправкой диппочты аккуратненько подчеркивал ноготком тезисы Навального об отсутствии в российской элите консенсуса по поводу Крыма, о том, что русский народ устанет, а рейтинг Путина начнет падать или удачливый корреспондент “Нью-Йорк таймс”, который договорился о заметке с Навальным, радостно звонил кураторам из правительства…“тезисы Навального” сыграли определенную роль в принятии государственных решений во время и после Крымской весны.
    Если кому-то спустя много лет захочется раскопать, почему администрация Обамы стала действовать так, а не иначе, он может поискать ту самую обосновывающую папочку... с выводом: “выдающиеся общественные деятели, кандидат в мэры Москвы, набравший 27%, Алексей Навальный выступили против… указали на наметившийся раскол элит, возможность давления на Путина посредством санкций на его ближайшее окружение, на перспективу падения его рейтинга…”.

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

    Но Навальный и впоследствии подтверждал обозначенную в марте 2014 точку зрения, разве что добавил к ней тезис, что Крым - не бутерброд. Он не пересматривал позицию, не признавал ошибок.

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

    Противоречие, которое ограничивает возможность участия политика, не признающего воссоединения России с Крымом, в президентских выборах в том, что политики могут иметь категорически разные точки зрения на “Крымский консенсус”, но те из, них, которые выступают за пересмотр референдума 2014 года, автоматически:
    1.Посягают на права значительного числа граждан России.
    Жители Крыма уже наши граждане.
    Невообразимо, что политик, претендующий на высшую государственную должность, одним из основных политических инициатив в роли главы страны называет проект, по сути ограничивающий права более 1% граждан (2 млн. жителей Крыма предполагается “втиснуть” в некую “политическую комбинацию”, в которой они снова становятся тем самым “бутербродом” размена и раздора).

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

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

    Как должна реагировать власть, ответственная за всех без исключения граждан, даже на туманную перспективу того, что её сменит другая политическая группировка, способная ограничить в правах часть общества?
    Собственные избиратели в основной массе не воспримут положительно, что власть допускает перспективу перевода части граждан на права “бутерброда”.
    Для "зубастого" международного сообщества территориальная уступка - возможность “развивать успех” с перспективой добиться от "виновной стороны" дальнейших политических и экономических уступок.

    Между тем, конфронтация между США и Россией, в определении вектора которой принял участи и квазикандидат в президенты РФ Навальный, только усиливается. "Наказанный" Путин рейтинг не потерял и остаётся скорее фигурой консолидации, чем раскола элит.
    Заметка Навального (в папке для принятия решений "администрацией Обамы") сыграла свою деструктивную роль для сотрудничества и благополучия наций, а не их элит.


    Продолжение следует.

    Виталий Серуканов. Скриншот с YouTube

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

    «Верификация подписей по регионам полностью провалена, отсюда и отсутствие хоть маломальской статистики по ней, которую уже долгое время требуют обнародовать жертвователи», - написал Серуканов, уточнив, что штаб оппозиционера за три месяца верифицировал 14 000 подписей, собранных в регионах, из необходимых 250 000.

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

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

    Как заметил экс-заместитель штаба Навального, из этой ситуации «были выходы»: «Как тот же эвент , на который можно было бы призвать людей, где никого бы не задерживали. Но факт в том, что [Навальному] нужны задержания, нужна волна арестов, нужно очень много шума, нужно показать, что в общем-то есть какое-то преследование компании. Потому что по-другому провал [избирательной кампании Навального] никак не то что не объяснить, его не замолчать. А сейчас главная задача сделать так чтобы никто особо не думал о том, что "ну, ребята сами обосрались"».

    19 декабря московские власти митинг в защиту избирательных прав граждан, запланированный на проспекте Академика Сахарова 24 декабря. По мнению главы столичного департамента региональной безопасности Владимира Черникова, мероприятие, намеченное оппозиционером Дмитрием Гудковым, не угрожает жизни и благополучию москвичей, поэтому одобрено. «Решение принято с учетом призыва председателя муниципального совета Красносельского района Ильи Яшина своих сторонников принять участие в незаконной политической акции под видом праздника района», - в тот день Черников, подчеркнув, что такие действия муниципального чиновника «безответственны и могут привести к серьезным последствиям».