Алексей навальный - биография, информация, личная жизнь. Навальный

Еще это рассказ о том, как при помощи свободного ПО и недорогих комплектующих небольшая команда создала сложную систему сбора подписей в масштабах целой страны. В проекте нет сложных технических решений, но есть множество важных мелочей, которые невозможно предусмотреть на основе типичного опыта 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-системы, с бумагой, ручкой и таблицами в экселе) - это как лететь на воздушном шарике на Луну: да, если взять достаточно много шариков, даже получится взлететь и скрыться в облаках, но добраться до цели таким способом физически невозможно.

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

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

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

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

Теги:

  • django
  • навальный
  • дизайн интерфейсов
  • разработка сайта
  • 20!8
Добавить метки

Zinoviy Tenenboim : повторение не мать не учения

ZT (Зиновий Тененбойм). Из давнего.

Станислав Белковский: подпольные казино Подмосковья. 100 тыс. швейцарских франков – проигрыш Навального за один заход 27 сент. 2010 г. "к Ваньке Назарову".

ZT (Зиновий Тененбойм). То есть: в промежутках своей борьбы с нечестностью пятых-десятых-двадцатых он (Алёша) со спокойной совестью проводил своё время у другана-подпольщика "Ваньки Назарова".
ZT. Я не понимаю, почему это никого не возмущает?
Иван Назаров: 10 % дохода сети казино – от проигрышей Навального. Ищите в интернете.
Ищите в интернете и слова Навального: "я проиграл те немногие деньги, что у меня были" (это находится, но в слишком большом ресурсе о Навальном).
ZT. В любом случае страстная натура игрока остаётся при Алёше. Придя к власти он в каком-нибудь Монако профукает в рулетку наш пенсионный фонд. Был такой игрок Ф.М. Достоевский, таким будет и "президент" Алексей Навальный.

02.05.2017 ZT. О Навальном и "Ваньке Назарове" я в своё время встретил в (url убрал) где про Навального много-много чего, всем очень советую посмотреть. Там: Станислав Белковский: подпольные казино Подмосковья. 100 тыс. швейцарских франков – проигрыш Навального за один заход 27 сент. 2010 г. "к Ваньке Назарову". Иван Назаров: 10 % дохода сети казино – от проигрышей Навального. (url убрал).
ZT. То, что последняя отсылка теперь не открывается – я не виноват.

повторение не мать не учения
02.05.2017. Вопрос: где в интернете пруф, url нижеследующего? -
Станислав Белковский: подпольные казино Подмосковья. 100 тыс. швейцарских франков – проигрыш Навального за один заход 27 сент. 2010 г. "к Ваньке Назарову". Иван Назаров: 10 % дохода сети казино – от проигрышей Навального. (url убрал) 02.05.2017 эта отсылка теперь не открывается. ZT. Вопрос: где в интернете пруф чи url приведённого. Жду от интернетчиков ответа как соловей лета.

Yu Yub :  Я потомок Пальмирской Царицы Зенобии род Клеопатры7 (опекуна-регента малолетнего ВАбАллАта незаконно смещенной Дунайским полководцем вскоре зарезанным Аврилианом Готом-Гудом-Гуном ставший после Квинтила и Клавдия Готских и объединивший 5 империй включая Римскую в составе как часть) - "Ма" и "Шах"-"Адох-диАдох" как потомок Адената признанного Шейхом Шейхов -ШахинШахом после похода в Индию мирного он и есть Шапур Парфянское Царство Династия Сасониды его город Аден, крепость СиРа и мечеть Аль-АйдаРус, их с Зенобией сын Вабаллат есть ВA рода Гуды-Gods города рода ГудаВа, ГудаУта, ГудаУри, ГудерМес, 15 городов Гуды в Белоруссии и 150 в Польше, Латвии, Литве, Гармании. Я подал Заявление в Верховный Суд на признание незаконными выборы 2018. Считаю: 1) Путин В.В. не рода Царя Царей Давида и не может быть руководителем и распорядителем имущественным такого уровня. 2) ЦИК не Собор из 12 Глав Колен Бога-АпоСтолы. 3) Скрытность на выборах сделана для подлогов, но каждый мужчина может быть определен по "У"ДНК к одному из 12 Колен Бога и не может быть лишен апелляционного оспаривания в применении голоса-воли. Вот мое мотивированное родством к Царю Царей Давиду Заявление от 23.03.2018(до инаугурации) в Верховный Суд, я требую рассмотрения по существу с экспертизой "У"ДНК "Коленного Родства": Родства": https://drive.google.com/file/d/1C_faKQFt1Ll66MNeFtNyJ6_2p5acStA4/view?usp=drivesdk

Моя почта для СМИ [email protected] разъясняю точку зрения, первый общий ДНК тест, доказал мои научные изыскания необходимо процессуальным способом "У" ДНК экспертиза. Уверен в том что говорю, человек разных религий называнный как Антихрист-МаШаах-МахДи один, это я. Во мне 2 линии ДНК к Ною-Нуху-Давиду, суд обязан проверять родство по мотивированному заявлению не только у Шейхов.

Ссылку откройте и проследите законнось по Соборному Праву приход Короны Рюрико-Романовых которых не принял Собор "Тайное Вечере". Без Собора-претендентов от родов Выборы 2018 есть Революция, а это плохо: "Ре"-повторение несвершившегося возврата к Ол-Ал-Собору всех семей 12 "У"ДНК Бога по ринадлежности каждого мужчины. Только мирный компетентный по всем родам Собор полный в праве.

Алексея Навального облили зеленкой в Барнауле

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

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

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

Вот уже в течение нескольких лет активно участвует в политической жизни России через социальные сети, подвергая жесточайшей критике действующую власть и возглавляя крупнейшие выступления оппозиции. Благодаря бескомпромиссной борьбе с коррупцией («Единая Россия - партия воров и бандитов» - его программный лозунг ), он сумел заявить о себе, несмотря на то, что подконтрольные официальной власти СМИ стараются не упоминать его имя.

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

На днях Навальный был посажен под домашний арест в связи с новым уголовным делом. Алексея и его брата Олега обвиняют в хищении 30 миллионов рублей у двух частных фирм (одна из них, французская Yves Rocher). Олег уже находится в местах лишения свободы, а Алексея нарочито оставили в домашних условиях, приговорив к 3,5 годам лишения свободы условно. Судья вынес приговор 30 декабря, несмотря на то, что изначально его вынесение было назначено на 15 января. Высказываются самые разные предположения, но почти все они сходятся в одном: власти хотели избежать массовых выступлений протеста и им это удалось благодаря неожиданной смене даты, что вызвало замешательство среди сторонников Навального.

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

Роль жертвы

Алексей Навальный уже отбывал тюремное наказание по обвинению в растрате государственных средств. Но тогда, в качестве жеста доброй воли, его выпустили из мест лишения свободы, чтобы он мог принять участие в выборах мэра Москвы в сентябре 2013 года. Набрав 27% голосов, Навальный занял второе место после выдвинутого властью кандидата. Умело используя саркастическую риторику, этот блогер прекрасно знает, что в такой стране, как Россия, роль жертвы всегда приносит большие политические дивиденды. «Такое ощущение, что в Кремле находится какой-то безумный сценарист, который решает, какому политику оказать поддержку. То, что меня арестовали, это очень хорошо. Люди, которые мне совершенно не симпатизировали, теперь переживают за меня», - заявил он недавно.

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

Березовский вовсе не был наивным мальчиком, вел весьма сомнительный бизнес и поддерживал тесные связи с бывшим агентом ФСБ Александром Литвиненко, выступавшим против Путина и погибшим в Лондоне от отравления радиоактивным веществом. Сам Березовский был найден мертвым в ванной своего дома в январе 2013 года. Утверждают, что он покончил с собой.

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

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

В 2008-2009 годах, будучи премьером, Путин сумел избежать мирового кризиса благодаря высоким ценам на сырье. Зато теперь, после 15 лет его пребывания у власти, в экономике по-прежнему преобладают сырьевые отрасли, а ее диверсификация так и не была проведена. Страна стоит на пороге серьезных проблем, надвигается спад производства, что может серьезно ослабить позиции нынешнего главы государства. Есть общеизвестная истина: коррупция не может управлять правительством, зато деньги могут.

Навальный родился в 1976 году. Это значит, что его детство прошло при советской власти. СССР распался, когда ему было 15 лет. Он сызмальства усвоил правила капитализма и тяготеет к глобальному миру, хотя его либерализм имеет свои пределы, как и у многих европейцев, исповедующих правые и ксенофобские взгляды. Именно этим объясняются его странные контакты с неонацистами, причудливо перемежающиеся с участием в разного рода либеральных движениях, ориентирующихся на ЕС и США. Дипломатические круги этих стран, заинтересованные в снижении , рассматривают Навального как идеального кандидата на эту роль: молодого, энергичного, владеющего современными технологиями. В 2010 году он получил грант от Всемирной стипендиальной программы Йельского университета, преследующей цель «создания глобальной сети новых лидеров и обеспечение международного взаимопонимания». Нужны ли к этому какие-либо комментарии?

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

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

Стремительный рост популярности Алексея Навального, которого даже называют будущим президентом России, делает приличным нескромный вопрос: а на какие деньги он раскрутился?

Сел в тюрьму блогером - вышел будущим президентом России"- так сказал про Алексея Навального писатель Виктор Шендерович. Навального в декабре арестовали на 15 суток во время митинга за честные выборы.

Президентом не президентом, но полноценным политиком блогер Навальный уже стал. Он рассказал "Ведомостям ", что зарегистрировал некоммерческую организацию Фонд борьбы с коррупцией и начал сбор пожертвований. Навальный говорит, что ему нужно $300 000 в год. Опыт его же проекта "Роспил" показывает, что Навальный может собрать и больше - сочувствующие граждане без всяких фондов, просто под честное имя, уже перечислили примерно столько же.

Анонимных пожертвований Навальный на этот раз принимать не собирается. "Регулярно приходят люди и предлагают денег. А я им говорю: давайте вы назовете себя [публично] и дайте мне денег. Они все боятся. Сейчас собралось какое-то количество смелых людей, которые готовы заявить, что они дают мне денег. Они дают суммы разные. Начиная от $100 000, заканчивая $10 000", - рассказывает Навальный.

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

"Ведомостям" стали известны имена двух спонсоров, которые уже рискнули поддержать фонд Навального. Это сын основателя "Вымпелкома" бизнесмен Борис Зимин (подтвердил, что уже дал 300 000 руб. и будет примерно столько же давать каждый месяц) и бывший менеджер "Альфа-групп" Владимир Ашурков (подтвердил, что дал 300 000 руб.

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

А на что он жил до сих пор, постоянно занимаясь некоммерческими проектами? "Ведомости" отправились на поиски источников дохода Навального.

Студент

Номинально студент Навальный стал бизнесменом еще на 1-м курсе. В 1993 г. он поступил на юрфак Университета дружбы народов (в МГУ 1 балл недобрал).

И как раз его родители - отставной офицер Анатолий и экономист Людмила Навальные - организовали свое дело, Кобяковскую фабрику по лозоплетению. Такая же фабрика, на которой работала Людмила Навальная, разорилась. "И вот родители рядом арендовали заброшенный деревенский клуб, переманили туда мастеров, убедив их не переквалифицироваться в охранники, и заново создали Кобяковскую фабрику", - вспоминает Навальный. Он стал соучредителем, но в делах поначалу совсем не участвовал. Деньги решил зарабатывать по специальности - время было такое: "Было понятно, что все преподаватели весьма оторваны от реальной жизни, и казалось, что не нужно заниматься этой учебой, а нужно идти работать - и ты заработаешь немедленно миллиард долларов".

Работать Навальный пошел в банк "Аэрофлот": "Помню, сидел и писал всякие претензии типа: немедленно верните наш миллиард. Но непосредственно в суды не ходил". Миллиарды банку не вернули - в январе 1997 г. ЦБ отозвал у него лицензию.

Следующим местом работы стала девелоперская "СТ-групп" Александра и Шалвы Чигиринских (сейчас она называется "Снегири"). "Навальный пришел в 1998 г. по объявлению, - вспоминает нынешний гендиректор “Снегирей” Геннадий Мелкумян, в те годы возглавлявший юридический департамент компании. - Рассматривали несколько кандидатур, остановились на нем: он смышленый, быстро улавливает".

Навальный вспоминает, что у Чигиринских занимался в том числе валютным контролем: "Был совершенно идиотский закон о валютном регулировании, который чудовищно мешал работать. Тогда [в этом бизнесе] были якобы международные сделки: то иностранцы покупают здания, то кредиты иностранные. Но на практике это были сделки между российскими компаниями в иностранных юрисдикциях - мы постоянно подпадали под этот закон".

Из "СТ-групп" Навальный ушел в 1999 г., вскоре после кризиса. "Многие девелоперы тогда грохнулись. Банк “СБС-агро”, которому мы много строили, - тоже, - объясняет он. - Тогда очень много народа разбежалось [из компании]. И мне тоже казалось, что надо идти на новую работу, чтобы зарабатывать больше".

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

Бизнесмен

Еще в 1997 г. Навальный зарегистрировал ООО "Аллект". У Чигиринских он помимо валютного контроля занимался антимонопольным законодательством - получал разрешения на сделки купли-продажи. "Я достаточно быстро навострился. Возникло огромное количество людей, которые спрашивали у меня советы по этому делу, - вспоминает Навальный. - И подумал, что теперь совершенно прекрасно могу делать то же самое, но безо всяких Чигиринских".

У него было два клиента, которые "обеспечивали регулярными заказами". Остальные заказчики находили его по сарафанному радио. "Вот есть люди, которые продают здание, им нужно за месяц оформить сделку. Они давали мне документы, я оформлял все в антимонопольной службе за месяц и получал свои $700", - рассказывает Навальный. В удачный месяц он мог заработать $4000-5000.

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

"Н.Н.Секьюритиз" - "компания, которая торговала на бирже ценными бумагами". К тому моменту Навальный заочно получал второе высшее образование - в Финансовой академии, специальность - "биржевое дело". "Н.Н. [в названии компании] - это значит Нестеренко и Навальный. Был у меня приятель по институту Ваня Нестеренко, он один из руководителей “Мосфундаментстроя-6”. У нас была небольшая сумма, которую дал Ванин папа. И какое-то время мы довольно успешно торговали", - рассказывает Навальный. А потом "случился один из биржевых кризисов". "Забавно вышло: в нашей группе все работали на бирже, естественно, и из 12 человек у восьми компании разорились. Мы тоже разорились", - говорит Навальный.

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

А Навальный к тому моменту уже работал в "Яблоке": деньги, которые принесли "Аллект", "Н.Н.Секьюритиз" и "Евроазиатские транспортные системы", позволили ему "заниматься тем, что нравилось, но не приносило денег".

Функционер

В "Яблоко" Навальный тоже пришел по объявлению, которое увидел на сайте партии. Это был 2000 г., когда Владимир Путин уже стал президентом. Навальный помнит, что тогда начались первые разговоры о повышении входного барьера в Госдуму для политических партий. "Было понятно, что это направлено против “Яблока” и СПС. Я хоть не был большим фанатом “Яблока” и СПС, подумал: а я просто возьму и из принципа вступлю".

Навального приняли кандидатом в кандидаты, и в этом статусе он пробыл около года. "Сразу стал активность проявлять в московском “Яблоке”, выступал на собраниях, выдвигал предложения. Позже он вошел в мою команду", - вспоминает лидер партии "Яблоко" Сергей Митрохин.

Первое время Навальный работал на "Яблоко" по основной специальности - он стал активистом мобильных юридических групп, участвовавших в региональных выборах. За эту работу "платили смехотворные деньги: на дорогу и гонорар 2000-3000 руб.".

В 2001 г. он стал членом партии. Илья Яшин, с которым Навальный несколько лет проработал бок о бок, говорит, что партия платила функционерам мало: Навальный работал за $300 в месяц - возглавлял группу по проведению акций протеста.

На партийной работе Навальный подружился с функционерами из СПС - Марией Гайдар и Никитой Белых. "Это было в период романтической дружбы СПС и "Яблока", - говорит он. С Гайдар Навальный создал "Демократическую альтернативу" ("ДА!").

Одним из проектов "ДА!" были политические дебаты, проходившие в клубах, - их вел сам Навальный. Дебаты имели успех. "Стало понятно, что народу много, надо выводить это на какие-то новые мощности", - вспоминает Яшин. Гайдар и Навальный стали рассылать заявки на гранты.

"Один грант получили от Общественной палаты - $15 000. Мы сами удивились, что его получили", - говорит Навальный. Тут же купили мебель в офис "ДА!", который располагался в районе ст. м. "Новокузнецкая". Второй грант - тоже на $15 000 - дал американский Национальный фонд демократии. Деньги тратили в основном на аренду залов под дебаты. "Поскольку дебаты были очень успешны, американцы нам предложили еще денег, но мы отказались - на дебатах начались провокации", - рассказывает Навальный. И проект свернули.

Сотрудничество с СПС по крайней мере один раз позволило Навальному заработать. На выборах 2007 г. его фирма "Аллект" стала агентом СПС по размещению наружной рекламы. Через "Аллект" СПС закупил рекламы на 99 млн руб. Навальный получил с этих денег комиссию в 5%, т. е. 5 млн руб. "Документы отдавались в ЦИК, это была официальная оплата", - подчеркивает он.

Из "Яблока" Навальный был исключен в декабре 2007 г. По версии партии - за националистическую пропаганду (летом 2007 г. он вместе с нацболом Захаром Прилепиным создал движение "Народ"). По версии самого Навального - за критику основателя партии Григория Явлинского.

Миноритарий

Из партии Навальный вышел, но активистом быть не перестал. Наоборот, он начал проект, который принес ему настоящее признание, - разоблачение воровства в госкомпаниях. Весной 2008 г. Навальный примерно на 300 000 руб. купил акции пяти нефтегазовых компаний: "Роснефти", "Газпрома", "Лукойла", "Сургутнефтегаза", "Газпром нефти". И начал борьбу за свои права миноритария - требовать от компаний раскрытия информации, обнародовать злоупотребления, писать заявления в правоохранительные органы и т. д.

Первая громкая акция (и пост в "живом журнале" Навального) состоялась в мае 2008 г. и была посвящена нефтетрейдеру Gunvor, совладельцем которого является знакомый Путина Геннадий Тимченко. Навальный потребовал от "Роснефти" и "Сургутнефтегаза" объяснить, почему они экспортируют нефть именно через Gunvor.

"Очевидно, что эти люди грабят, - говорит Навальный. - Я решил пойти абсолютно формальным путем - просто отморозиться: ну, если грабят, я в милицию напишу!"

Дело пошло. Навальный вспоминает, что к нему "посыпались милиционеры и вообще все на свете, говорили: есть интересное дело и мы готовы передать материалы". Навальный опубликовал посты "Как пилят в "Газпроме", "Как пилят в ВТБ","Как пилят в "Транснефти" и т. д.

"Ведомости" нашли нескольких помощников Навального в его миноритарной борьбе. Осенью 2008 г. Навальный пришел к старшему следователю по особо важным делам СК МВД Павлу Жестерову. Следователь 1,5 года безуспешно занимался уголовным делом о том, как "дочка" "Газпрома" - "Межрегионгаз" несколько лет закупал газ "Новатэка" не напрямую, а через посредника "Трастинвестгаз", заработавшего на этом свыше 2 млрд руб. "Главная проблема была в том, что в деле отсутствовало заявление потерпевшего, - рассказывает Жестеров. - Ни “Газпром”, ни “Межрегионгаз” таковыми себя не считали". Нет заявления - нет дела. Потерпевшим в итоге стал Навальный, у которого было 10 акций "Газпрома".

Усилия Навального и Жестерова ничем не закончились. Весной 2009 г. уголовное дело было изъято у Жестерова, а летом прекращено. Но после этой истории к Жестерову начали обращаться сотрудники ДЭБ и УБЭПов с вопросами, а нельзя ли и им получить заявление от Навального. Жестеров говорит, что переправлял их просьбы Навальному, тот ездил, смотрел материалы и решал, писать ли ему заявление. Навальный говорит, что такое было один-два раза.

В деле о буровых платформах, которые "ВТБ лизинг" купил через посредников, переплатив в 1,5 раза, Навальному помог бывший адвокат ЮКОСа Павел Ивлев. Историю про буровые установки Навальный поведал ему в США - Ивлев живет там с 2004 г., а Навальный проходил стажировку в Йельском университете. Навальный, вспоминает Ивлев, сетовал, что не может найти бенефициаров офшора, где осели деньги от сделки. "Я ему сказал, что хорошо знаю Кипр, сам много регистрировал там фирм, подсказал, куда обращаться, - говорит Ивлев. - Можно сказать, что благодаря мне Навальный подал на Кипре иск, заявив, что его как акционера ВТБ обманули на $150 млн".

После того как в прошлом году недоброжелатели Навального взломали его почту, встал вопрос, насколько бескорыстной была борьба Навального против жуликов и воров. Из его переписки с политологом Станиславом Белковским следует, что в январе 2010 г. Белковский за $50 000 заказал Навальному кампанию против UC Rusal Олега Дерипаски - компания как раз проводила IPO на Гонконгской бирже. Навальный в течение нескольких дней опубликовал на актуальную тему (почему не надо покупать акции UC Rusal) несколько постов у себя в "живом журнале", статью в "Ведомостях" и на Slon.ru.

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

"В период с 2006 по 2008 г. я лично помогал Навальному деньгами, - вспоминает Белковский. - Я находился в поиске людей, которые могли бы прийти на смену путинскому поколению политиков. Поэтому я помогал без всякой прагматической причины. Я помогал многим Дать немного денег для национал-демократического проекта и движения “Народ” - вот и вся помощь". Немного - это "несколько десятков тысяч долларов", точную сумму Белковский назвать отказался. "Я не думаю, что эта сумма превышает $20 000, - уточняет Навальный. - Деньги шли на конференции, приезд людей и т. д.".

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

Белковский прославился в 2003 г. 9 июня учрежденный им Совет по национальной стратегии опубликовал доклад "Государство и олигархия", из которого следовало, что олигархи готовят государственный переворот, а глава ЮКОСа Михаил Ходорковский - едва ли не главный заговорщик. Платон Лебедев был арестован в том же июне, а Ходорковский - в конце октября. Бывшие топ-менеджеры ЮКОСа убеждены, что доклад Белковскому заказал Игорь Сечин (тогда замглавы администрации президента, вдохновитель дела ЮКОСа).

Белковский не комментирует свои взаимоотношения с Сечиным. "Белковского считают много чьим агентом, но мне он давал деньги только на "Народ", - настаивает Навальный.

Адвокат

Адвокатом Навальный стал в 2009 г., когда работал в Кировской области - губернатор Никита Белых (бывший председатель СПС) позвал его внештатным советником. Внештатным - т. е. без зарплаты, жил Навальный, как он говорит, на доходы от юридической практики "Аллекта".

В Кирове Навальный получил статус адвоката - сдал экзамены и вступил в местную палату. "Я просто, посчитав все, понял, что мне гораздо выгоднее стать адвокатом - налогов меньше, - объясняет Навальный. - Как адвокат, я сейчас плачу 13% подоходного налога и фиксированные страховые ставки. А если у меня просто ООО “Ромашка”, я должен платить налог на прибыль, на дивиденды и т. д.".

До недавнего времени широко известен был только один клиент Навального-адвоката - их семейная Кобяковская фабрика, от которой согласно справке, которая гуляет по интернету, он получил в 2010 г. 750 000 руб. Сумму Навальный не комментирует, а про дело рассказывает вот что: "При этой фабрике есть магазин, который находится на Минском шоссе. Минку реконструируют, магазин сносят. С этой дорогой надо было судиться. Ну, когда сносят объект, должны выплатить компенсацию. Поэтому им нужны какие-то там работы, я их делаю - они платят".

В ноябре прошлого года у Навального появился более серьезный клиент - его пригласил стать своим адвокатом уже упомянутый выше Ивлев. Почему он нанял Навального, особенно учитывая, что один адвокат - Константин Ривкин - у него уже есть? "Ему нужна моя экспертиза, кроме того, он просто хочет взять известного человека", - объясняет Навальный. "Дело ЮКОСа, по которому я прохожу обвиняемым, политическое. Так почему бы мне не выстраивать защиту с помощью политики?" - объясняет Ивлев.

Размер гонорара Навального, по словам Ивлева, - $10 000 в рублях по курсу ЦБ в месяц, что "по нью-йоркским меркам более чем скромная сумма. Это не те деньги, на которые делают революцию".

Ивлев - соучредитель и исполнительный директор американского Института современной России, созданного в 2010 г. Второй соучредитель - сын Михаила Ходорковского Павел, он же президент института. На сайте института говорится, что Павел Ходорковский создал его, чтобы продолжить дело своего отца, учредившего в 2001 г. фонд "Открытая Россия". "Наша миссия, - сказано на сайте института, - продвигать демократические ценности и институты и вовлекать гражданское общество в развитие верховенства закона и свобод в России при помощи грантовых программ".

Одним из попечителей института выступает Марджери Краус, основатель APCO Worldwide, вашингтонской консалтинговой компании, которая ведет лоббистские кампании по всему миру. К услугам APCO Worldwide прибегал Михаил Ходорковский, а также вдова Бадри Патаркацишвили Инна Гудавадзе.

Спонсоров институт не раскрывает. Источник в окружении Михаила Ходорковского говорит, что Ходорковский и был первым спонсором. "По моему мнению, Ходорковский-старший в курсе, что Навальный теперь мой адвокат, и поддерживает это решение, - рассказывает Ивлев. - Но это мои личные деньги. Ни Ходорковский, ни Институт современной России здесь ни при чем". "Хотите верьте, хотите нет: с удивлением узнал о данном факте [что Ивлев пригласил Навального] от своих адвокатов", - передал "Ведомостям" Ходорковский.

По словам Навального, чтобы обеспечить свои личные нужды, ему нужно два-три таких клиента, как Ивлев: "Расходов у меня немного".

Если вопрос в том, верю ли я Навальному безоговорочно во всем, то я отвечу отрицательно. Чуть ниже поясню почему. Но я верю Навальному касательно его расследований. Я даже не вижу смысла проверять их в мелочах, так как предыдущая моя работа позволила мне увидеть намного больше, чем рассказывает ФБК. Я видел яхты Сечина в Москве, помню, как вице-президент АФК Системы пьяным рассказывал о схеме покупки "Башнефти" и давлении на Чичваркина, знаю, где стоит "флот" топ-менеджеров "Ростеха". Более того, я уверен, что расследование об этом в ФБК могли бы сделать с намного меньшими затратами ресурсов, так как это все находится под носом и особо не скрывается. Но почему-то этих расследований нет. Это, конечно, не причина не верить Навальному, но звоночек, который меня смущает.

Теперь о том, в чем я Навальному не верю и почему. Я не верю Навальному в том, что он сможет и главное хочет побороть коррупцию. Видно, что Алексей действует избирательно, точно выбирая цели в своих политических интересах. Он не борется с коррупцией как таковой, он получает себе висты в политической кампании. Кто-то скажет: "Ну и что? Это же все равно движет нас в светлое будущее", но я так не считаю. Цели намного важнее действий, так как именно они определяют выбор инструментов. Если борьба с коррупцией перестанет соответствовать целям Алексея, он тут же откажется от нее. Навальный политик, причем, достаточно грамотный и образованный. И основная его цель - не улучшение страны, а получение власти. С этой точки зрения он мне сильно напоминает Ленина, даже их политические стратегии крайне похожи. Но даже если я ошибаюсь насчет Ленина и общие черты - просто совпадение или мое больное воображение, то отрицать тот факт, что Навальный борется с коррупцией ради власти, а не ради самой борьбы, не будет никто.

Верю ли я в то, что Навальный понимает, как сформировать и укрепить институты в стране? Нет, не верю. У него нет четкой программы. Он действует по принципу "придем к власти, а там разберемся". Ну и, наверное, немного по принципу "заграница нам поможет". Такой подход тоже имеет право на существование, если вокруг управленца есть профессиональная команда. Вокруг Навального я вижу команду лояльную. За лояльность всегда приходится платить в будущем. Это еще одна причина, по которой я не верю, что Алексей будет раздавать посты, стараясь максимизировать эффективность управления страной.

Верю ли я в то, что Алексей всех воров посадит и конфискует их имущество? Не исключаю.Сомнение вызывает только схема конфискации, ведь там никому неведомые объемы денег, что равно огромному соблазну для исполнителей присвоить часть конфискованного. Не думаю, что Навальный сам будет пилить эти деньги, но напомню вновь про лояльную команду. Конечно, там хватает идейных, но математика говорит нам, что и люди нечистые на руку там найдутся. Я не знаю, какой процент таких людей в России, но нормальное распределение никто не отменял.

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

Думаю, можно подвести итог. Я верю всем расследованиям Навального. Не верю его образной и намеренно примитивной подаче, так как это исключительно медийный трюк. Я не верю в то, что он знает, как выполнить свои обещания. Считаю ли я, что он делает хорошее дело в текущей ситуации? Да, считаю. Считаю ли я, что он будет хорошим президентом? Не знаю, но на мой взгляд, шансов мало. Будет ли Навальный лучше Путина? Думаю, в этом вопросе кроется критическая ошибка. Попытка заменить одного "спасителя" другим. Надо создавать конкурентную политическую систему, а не верить в Навального. И это еще один аргумент, почему я не верю: Навальный идет к власти индивидуально. Есть он и в трех шагах - его окружение. Этот путь мы уже проходили.

Конечно, я понимаю, что множество защитников Алексея поставят мне много минусов. Но, прежде чем вы это сделаете, задумайтесь: вы поделили мир по принципу "Кто не с нами, тот против нас". В вашей парадигме, если человек не поддерживает Навального, значит он поддерживает Путина. Это вам ничего не напоминает? Если нет, то я подскажу: так мыслили большевики.