Все супер-пупер секьюрно

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

http://pastebin.com/vUkGLN8N
http://pastebin.com/zxgYJ0VF
http://pastebin.com/vRqBVy1h
http://pastebin.com/sKSKMBfg
http://pastebin.com/uyDP4NK9

Фанатам Лени Волкова рекомендуется проверить свое наличие в списках, а заодно — соотнести факт их появления со следующими словами Волкова из FAQ по выборам:

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

Единожды солгавши, кто тебе поверит?

Теоретическое обоснование ховринского сепаратизма

Границы можно проводить по-разному. Проще всего делать это в каких-нибудь диких странах — взял карту, провел прямую линию прямо по пустыням и прериям и сказал — отсюда и досюда все мое, все кто слева и справа — пидорасы! Правда, таких мест на Земле уже практически не осталось, так что очень многие границы в мире проведены по принципу «стопицот лет назад здесь наши отмудохали ненаших». Тоже хороший принцип, довольно уважаемый в международной практике. Хуже всего — когда надо «делить неделимое» — скажем, «нарезать» Москву на всякие «муниципальные образования». То, как это сделано сейчас, вызывает определенное недоумение. Границы проведены в основном вдоль крупных улиц. Выглядит это странно — особенно когда объединяют, скажем, Выхино с Жулебино, которые разделены МКАДом.

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

moscow-regions

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

Я не претендую на то, чтобы быть первооткрывателем этого деления — оно довольно естественное и в том или ином виде, скорее всего, существует в голове каждого, кто ездит по Москве на автомобиле. В конце концов, о слабой «транспортной связности» Москвы упоминал в публичной лекции на polit.ru и Михаил Блинкин, ныне возведенный в ранг великого гуру урбанистики. Интереснее его «последствия». Разрежем карту Москвы на части и соединим их линиями, представляющими дороги. Эта «дорожная сеть» будет, если говорить на языке математики, топологически эквивалентна исходной. Получится что-то вроде такой картинки (не менее кликабельно):

moscow-roads

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

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

Можно ли улучшить транспортную ситуацию в Москве «дешевыми» средствами, типа повсеместного строительства паркоматов, приглашения иностранных консультантов и прочей шушеры, повышения транспортного налога и тому подобных мер? Мне кажется, что нет. Да, идеологи вроде Каца могут говорить например, о том, что Алабяно-Балтийский тоннель — это «пример градостроительного идиотизма». Достаточно посмотреть на карту и убедиться в том, что этот тоннель, оказывается, должен соединить (через улицу Народного ополчения) те районы, которые я подписал «Фили» и «Ховрино». Проехать между ними напрямую нельзя, на пути — Хорошево со своей довольно сложной дорожной сетью. Население этих районов — около полумиллиона человек в каждом. Если бы они были «отдельными» населенными пунктами в какой-нибудь «небольшой европейской стране» (а по населению Москва вполне себе тянет на «небольшую европейскую страну», типа Голландии), то их обязательно соединяла бы полноценная автомагистраль, обходящая другие населенные пункты — примерно такая, как на картинке:

autobahnA2ost

Что же предлагает Кац? Кац предлагает автобан не строить, а междугородний трафик направлять через деревню Гадюкино Щукино. В таком разрезе «идиотизмом» выглядит именно предложение Каца, а не «волюнтаристское решение Лужкова».

Внимательный читатель мог бы возразить — ведь Фили соединены с Щукино, Щукино соединено с Ховрино — так в чем же проблема? Проблема в том, что выехать внутри Щукино с улицы Народного ополчения на Ленинградку достаточно сложно. Вообще, обычно в мировой практике достаточно крупные населенные пункты, лежащие на крупных автодорогах, снабжают объездными магистралями — чтобы транзитный транспорт не двигался через город. Для «населенных пунктов», составляющих Москву, это «общее правило» выполнено разве что для центральной части города, которую можно и нужно объезжать по Третьему транспортному кольцу (Садовое и Бульварное кольца — это «внутригородские» дороги со всеми их недостатками). Оставшийся 21 «город» оказывается расположен прямо на «федеральных трассах», со всеми сопутствующими проблемами — типа транзитного транспорта.

Библия жежешечных «урбанистов» называется «Транспорт в городах, удобных для жизни». Можно ли назвать «удобным для жизни» город, через который проходит шоссе с громадным потоком транзитного транспорта? Скорее всего, нет. И первый шаг для того, чтобы город стал «удобным» — это построить объездную дорогу, которые имеются даже вокруг «небольших» в сравнении с некоторыми московскими районами городов. К сожалению, сложно себе представить, что такую дорогу можно построить «вокруг» той же Хорошевки — но у нас в распоряжении имеются целых три измерения, и «объезд» можно проложить над или под землей (как тот же Алабяно-Балтийский тоннель). Как очень компромиссный вариант допустима и прокладка надземных или подземных переходов — но нельзя превращать автобан в «тихую городскую улочку», как показано тут:

katzendreck

К разговору об «удобстве для жизни» хотелось бы добавить еще один аргумент. Где вы видели полумиллионный город, подавляющее большинство жителей которого работает в другом? Много ли жителей, скажем, какого-нибудь голландского Эйндховена рано с утра садится в машину и едет на работу в какой-нибудь не менее голландский Арнем, пусть даже и по прекрасной автомагистрали А50?

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

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

А для развлечения публики покажу картину, можно сказать, великого русского художника Васи Ложкина «Ховринские сепаратисты едут жениться«.

hovrino

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

Чтобы задать вопрос, надо знать ответ

Кстати, если набрать в гугле modprobe usblp, то одним из первых результатов будет практически один-в-один ситуация с моим принтером:

http://askubuntu.com/questions/80879/send-raw-data-to-usb-parallel-port-after-upgrading-to-11-10

Кстати, у мужика даже адаптер той же модели :)

Ubuntu и принтер

Роясь в груде околокомпьютерного барахла, нашел старый принтер Canon BJ-30. Удивительно, но даже гуглом довольно трудно найти более-менее приличное описание этой модели. В общем, это довольно старый (середина 90-х) компактный струйный принтер — причем действительно компактный, размером 30x15x5 см. Сейчас трудно найти настолько «портативный» принтер — точнее, схожие по габаритам модели есть у Canon и HP, но они стоят неприлично дорого. Китайцы ничего подобного по разумной цене не предлагают, а зря. Я бы «согласился» даже на черно-белый струйник.

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

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

Дальше — пляски с бубном в плане подключения принтера. В Windows 7 все прошло очень просто — подключаем (по LPT), жмем на «установку принтера», выбираем модель из списка… и тут нас поджидает облом — такого принтера в списке нет, хотя в Vista он еще официально поддерживался. Шукаем по интернету, находим два способа — выдрать драйвер из Vista или использовать драйвер от другой модели в той же линейке. Используем второй, печатаем пробную страницу, радуемся.

Следующим шагом стало подключение агрегата к ноутбука с Ubuntu 11.10. Для этого я прикупил USB-LPT адаптер, разумеется, безымянный — но на коробке среди прочих неприличных слов было написано Linux и это внушало некий оптимизм. Дальше — собрал, включил, не работает. Дальше начались танцы с бубнами похлеще, чем в этом вашем Windows.

В бубунте очень раздражает огромное количество версий. У Windows за 10 лет вышло лишь четыре «принципиально разных» варианта — XP, Vista, 7 и 8. У Ubuntu новая версия выходит два раза в год, причем в каждой ломают что-то полезное и добавляют что-то ненужное. С поиском «рецептов» для актуальной версии — просто беда. Кто там Ocelot, кто Oneiric, кто Pangolin, а кто Precise, где 11.10, а где 12.04 — понять в большинстве случаев решительно невозможно. Короче, Russian novel programming в чистом рафинированном виде.

Для начала я попытался понять, почему в окошке «подключение принтера» нет пусть даже и виртуального LPT-порта. Полчаса копаний в dmesg, lsusb и даже установка lshal помогли понять, что адаптер распознается системой — а интенсивный гуглеж навел на мысль, что дело в каких-то CUPS’овских заморочках. Если установка драйверов принтера в Windows не показалась вам каким-то извращением — то CUPS запросто переплюнет «отягощенную обратной совместимостью венду». Еще полчаса гугла, еще просмотр разных предложений расковырять полсистемы — и вот я набираю sudo modprobe usblp — а затем вписываю в «установке принтера» волшебную строку parallel://dev/usb/lp0 — и после этого мне предлагают выбрать принтер из списка. Не буду говорить об отсутствующем usability в этом окошке. Использование GUI в Линуксе — признак слабости. Боюсь, что признание в том, что я добавлял принтер через окошко «Принтеры» равносильно… не знаю, признанию в том, что я делаю педикюр или ношу женскую одежду :)

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

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

PS Для полного счастья в подобных случаях надо еще закомментировать строчку blacklist usblp где-то в /etc/modprobe.d/cups-blacklist.conf — или где-то рядом. Черт его знает, где она в вашем дистрибутиве.

Подарочек, блин

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

В общем, изучил предложение, посмотрел на имеющиеся в кармане дисконтные карточки, и остановил свой выбор на автономном пусковом устройстве Defort DPS-17N. В AGA, где у меня помимо всего прочего имеется пятипроцентная скидка, к девайсу давали еще и инвертор DCI-150 того же производителя мощностью 150 Вт. Не знаю, чем обусловлен выбор «подарка» — видимо, тем, что любознательный клиент возьмет автономный питальник, засунет в его гнездо «прикуривателя» инвертор, а в инвертор включит зарядное устройство для питальника — и в результате обманет и Чубайса, и законы физики.

Китайское происхождение девайса меня особо не смутило — ну что можно «неправильно» сделать в, по существу, ящике для батареи? Внешний осмотр проводов для прикуривания убедил меня в том, что сделаны они более-менее качественно, так что я вполне уверенно ткнул пальцем и сказал — «Заверните!» Ну, в общем, и завернули. Открыв упаковку дома, я обнаружил, что «заворачивая» девайс, продавец ухитрился сломать вилку «зарядника» для этого устройства. Впрочем, адаптер питания на 15 В и 500 мА особым дефицитом никогда не был.

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

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

В остальном наборчик произвел приятное впечатление — но больше «тройки» за такие приколы я бы не поставил.

Облачная псевдодемократия

Прочитал брошюру Леонида Волкова и Федора Крашенинникова «Облачная демократия«. Что могу сказать? Начинается она с вполне здравой мысли — что все «демократические» процедуры сложились в принятой сегодня форме из-за чисто «технологических» ограничений. Какая-нибудь американская «коллегия выборщиков» выглядела вполне адекватно в конце XVIII века, и работала сообразно с тогдашними возможностями избирательных технологий — а сегодня выглядит явным анахронизмом. «Идеальной» же системой авторы считают прямую демократию, а все остальные «демократические» процедуры объявляют приближением к этому идеалу.

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

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

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

В общем, книжка посвящена в основном некоей «социальной утопии». О технических познаниях авторов можно догадаться хотя бы по утверждению о том, что одним из последствий этой утопии будет отказ от анонимности избирателей. Мне достаточно дотянуться до книжной полки, достать книжку Б. Шнайера «Прикладная криптография», открыть ее на странице 151 и ознакомиться с «классическими» требованиями к протоколу тайного голосования. Требований всего 6:

1. Участвовать в выборах могут только граждане, имеющие право голоса.
2. Каждый избиратель может голосовать только один раз.
3. Никто не может установить, за кого проголосовал каждый избиратель.
4. Никто не может сделать дубликат бюллетеня с волеизъявлением каждого избирателя.
5. Никто не может изменить результат голосования любого избирателя.
6. Каждый избиратель может проверить, что его бюллетень учтен при подведении итогов голосования.

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

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

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

О ненужных вещах

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

http://belnetmon.livejournal.com/2097200.html
http://nicka-startcev.livejournal.com/1942274.html

На это хочется ответить притчей. У троих человек спросили, что они делают. Первый ответил — «Кладу кирпичи», второй — «Работаю, чтобы кормить семью», а третий — «Строю храм». Любую человеческую деятельность можно понимать по-разному. Можно ограничиться только какими-то механическими навыками, «практикой». Можно подняться на более высокий уровень — «почему надо делать именно так». В общем, как в том анекдоте про телемастера, который брал 20 копеек за то, что ткнул паяльником в нужном месте, и 20 рублей — за то, что знал, куда ткнуть.

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

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

Чуров позавидует

На днях завершились «выборы в Координационный совет оппозиции». Само по себе событие малоинтересное, но очень показательное в плане того, что собой представляет эта так называемая «оппозиция». Начну с краткой предистории вопроса. Зимой 2011-2012 года оформилось некое «протестное движение» — видимо, действительно совершенно спонтанное. Московские хипстеры с самыми лучшими намерениями нацепили белые ленточки, начали регулярно ходить на всевозможные митинги, научились рисовать гауссиану и не верить Чурову. В принципе, тут надо радоваться — хоть у какой-то «социальной группы» в России материальные потребности удовлетворены настолько, что ее представители ходят на митинги не с целью потребовать выплатить в сентябре зарплату за январь, а ради совершенно абстрактных «честных выборов» или даже — для тусовки с себе подобными «позитивными людьми».

Впрочем, не надо считать, что пресловутые митинги — результат хипстерской самоорганизации. За всеми мероприятиями этой так называемой «оппозиции» (настоящая оппозиция заседает в Думе, ездит на «Майбахах» с мигалкой и закусывает дорогие коньяки трюфелями и черной икрой в думской столовой) стоял некий Оргкомитет — совершенно «самозванный» орган, ничего общего с протестующими хипстерами не имеющий. Структура эта довольно аморфная, постоянного состава у нее нет — но на всех митингах так или иначе, но выступали одни и те же люди. Уж не знаю, «превентивно» ли этот Оргкомитет решил легализоваться в глазах тех, кого он якобы представляет, или же кому-то в голову пришел вполне логичный вопрос — «А кто это там кривляется на сцене и почему он там оказался?» — но способ был выбран проверенный, а именно организация выборов.

В истории есть немало прецедентов того, как даже во времена самого дикого и мрачного средневековья люди доверяли принципу Vox populi — vox dei. В принципе, «всенародное» голосование (в кавычках, потому что «всенародность» в разные времена понималась по-разному — и в силу чисто технических причин, и в силу тогдашних «понятий») — это прекрасный способ «легализовать» любую, так сказать, «власть». Представим себе какой-нибудь Люксембург со статысячным населением. Жители Люксембурга только что свергли страшного диктатора и теперь решают, как им жить дальше. Всякие «Временные правительства», «Переходные национальные советы» и прочие «Оргкомитеты» потому и называются «временными» и «переходными», что итогом их деятельности должен стать созыв Учредительного собрания, выборы Боярской думы, всенародное голосование, или какой-нибудь еще жуткий бардак, в результате которого и будет выбрано «постоянное» руководство. В нашем Люксембурге решили провести «всенародные» выборы — да еще и в электронном виде, по самой последней моде.

Если предположить, что «Переходное правительство Люксембурга», или «Оргкомитет оппозиции» — не кристально честные люди, истинные революционеры без страха и упрека, готовые расстаться с властью добровольно, в ходе народного волеизъявления, да еще и сомневающиеся в том, что это волеизъявление позволит им и дальше гордо заявлять «мы здесь власть!» — то им придется принять какие-то меры, чтобы «выборы» прошли именно так, как им выгодно. Как мы увидим ниже, выборы нового органа, «Координационного совета оппозиции», были организованы именно по этому принципу.

Для начала, перед проведением выборов формируется какой-то орган, который будет отвечать за их организацию. Желательна его независимость от «избираемых» — иначе все имеет шанс превратиться в «важно не как проголосуют, а как подсчитают». Российская ЦИК, например, организована в соответствии с этим принципом — по 5 членов комиссии назначают президент, Дума и Совет Федерации, при этом решения ЦИК принимаются голосованием ее членов. Члены Комиссии не подотчетны выдвинувшим их органам, а ее полномочия в сфере ее компетенции независимы от других органов власти. В общем, все очень красиво, в духе идеалистических представлений о «демократии» образца 1993 года.

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

Да, организаторы вначале ответили на вопрос «Что будет, если на выборы в координационный совет выдвинется Василий Якеменко? Света Курицына? Максим «Тесак» Марцинкевич? Владимир Путин?» так — «Ничего не будет: выдвинется и примет участие в выборах,» — а затем отказали тому же Марцинкевичу в регистрации, ссылаясь на то, что он якобы «не разделяет ценности протестного движения» (то бишь не очень фанатеет от Навального). Случай этот не единичный, более того, в ход регистрации несколько раз вмешивался «Оргкомитет» (например, в решении ЦВК №50 это упоминается в явном виде). В общем, получается примерно как в байке про матроса Железняка и Учредительное собрание — «Караул устал!» Вместо того, чтобы позволить избирателям решить, кто из кандидатов разделяет ценности «протестного движения», а кто — нет, ЦВК на пару с Оргкомитетом сделали удобный для себя список кандидатов. От такого поведения избирательной комиссии недалеко и до исправления результатов голосования.

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

Возникает довольно много вопросов по технической части. Во-первых, что же за DDoS вызвал сбой системы? По-моему, сейчас этими волшебными четырьмя буквами обозначают любые проблемы с «оппозиционными» сайтами. Да даже если он и был — вся система изначально должна строиться с учетом этой возможности. Заказать маленький DDoS, «кладущий» почти любой ресурс, стоит сегодня настолько мало, что доступно любому сетевому хулигану. Не надо искать тут «руку Кремля» — есть же и активисты движения «Наши», и «сочувствующие», и просто хулиганы — причем чем дальше по списку, тем вероятнее, что кто-то решит испортить эти «выборы». Во-вторых, голосовалка в принципе не защищена от злоупотреблений со стороны организаторов. Кое-кто, обнаружив расхождения опубликованных ЦВК материалов со своими представлениями о статистике, даже утверждает, что таковые гарантированно были.

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

Согласитесь, что довольно забавно выглядит движение, начавшее с требования честных выборов и закончившее вот таким «честным» голосованием. А еще забавнее — итоги первого дня деятельности свежеизбранного Координационного совета. «Оргкомитет», в полном составе вошедший в Координационный совет, в «экстренном порядке» принял заявление по поводу Развозжаева. Как пишет Навальный, «Считаем это заявлением КС, принятым в обход регламента, в связи с временным отсутствием такового.» Блеск! Нет, даже «проклятые едросы» не опускались до такого и ни разу не делали заявлений от имени Госдумы — даже несмотря на то, что их партия составляет большинство. Запомните список этих фамилий:

Ашурков, Пархоменко, Албуров, Немцов, Пионтковский, Каспаров, Кашин, Соболь, Навальный, Наганов, Чирикова, Дзядко, Крылов, Гаскаров, Лазарева, Собчак, Тор, Романова, Шац, Полчаев, Илларионов, Давидис, Винокуров, Пивоваров, Мирзоев, Константинов, Быков, Яшин, Николаев, Аитова, Гельфанд, Бондарик, Адагамов

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

Про теологию

Почитал тут гневные отзывы на то, что в МИФИ открыли кафедру теологии. Удивляет беспомощность аргументации в духе «теология — не наука».

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

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

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

Про историю матклассов

Вот, собственно, ссылочка про то, как из чисто «средне-специального» образования по специальности «оператор ЭВМ» сделали матклассы:

http://www.polit.ru/article/2010/09/29/matheducation/

Цитирую:

Хрущев ввел процентные нормы: сколько нужно принимать в вузы выходцев из рабочих, заявил, что нужны рабфаки, что нужно гнать в вузы рабочих. А в школах ввели 11-летнее обучение, и два дня в неделю ученики должны были проходить практику на производстве. И вот Кронрод вдруг говорит: Мы можем воспользоваться этим моментом, чтобы создать математические классы. И мы объявляем, что должна быть производственная специализация – «программирование», и мы будем преподавать математику. Два дня в неделю в таких классах было отдано только математике и программированию.

Что такое «образовательные стандарты»

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

Для начала — что же, собственно, изучение этой специальности предусматривает? Во-первых, «общие гуманитарные дисциплины» — иностранный язык, физическую культуру, отечественную историю, культурологию, политологию, правоведение, психологию и педагогику, русский язык и культуру речи, социологию, философию и экономику. ВУЗ имеет право из этих дисциплин оставить только иностранный язык, физическую культуру, историю и философию, а остальные реализовывать по своему желанию. Я бы добавил к ним разве что экономику, а для особо интересующихся — правоведение, причем желательно — параллельно с курсом логического программирования :)

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

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

Теперь — непосредственно «специальные дисциплины». Для рассматриваемой 220400 это будут: структуры и алгоритмы обработки данных, функциональное и логическое программирование, объектно-ориентированное программирование, теория языков программирования и методы трансляции, теория вычислительных процессов, архитектура вычислительных систем, технология разработки программного обеспечения и человеко-машинное взаимодействие.

Все это можно разбить где-то на 40 «семестровых», по 150-200 часов, «курсов» (собственно, трехсеместровые тут только физра и матан, да и тот, по-хорошему, нужно сократить до «левого предмета уровня МИСиСа» в один-два семестра). Набор курсов достаточно адекватный и в принципе, покрывает всякие «что должен знать программист 6 разряда» — но заметно шире этих списков, прежде всего, благодаря «гуманитарным» и «общеинженерным» дисциплинам. Тут я согласен с [info]ailev, который объявил «computer science» лишь одной четвертой частью «верхнего образования инженеров-программистов«.

Впрочем, реальность куда хуже — отечественные «инженеры-программисты» с дипломом по специальности обычно ничего выдающегося из себя не представляют, а их «багаж знаний» ограничивается PHP+Delphi. Но я берусь изобразить некое подобие рабочего плана по специальности 220400, которое, надеюсь, покажется читателю вполне адекватным, а кто-то — чем черт не шутит — решит опробовать его в действительности :).

Итак, первый семестр. Включим в него следующие предметы:

— матан (стандартный вузовский курс, тут ничего нового за последние 100 лет не придумано)
— алгебра и геометрия (всякие уравнения прямой и плоскости, линейные и аффинные преобразования — в общем, математический минимум для геймдева)
— иностранный язык (английский, пусть даже в духе «говорить вам не с кем, а читать со словарем научим»)
— физра (куда ж без нее?)
— программирование на языке высокого уровня (рискну предложить «порезанную на части» SICP — первую-третью главы с кусочком пятой, о регистровых машинах)

В этом семестре ничего удивительного, матан должен будет «выстрелить» в следующем, при оценке сложности алгоритмов, а линейная алгебра позволит нормально поговорить об одном из наиболее интересных циклов задач из второй главы SICP. «Вводный курс» на основе MIT-овского учебника, кроме того, поставит в равное положении как «нулевого школьника», так и «самоучку» с «ПТУшником», учившихся по программе ребе [info]theiced :)

Второй семестр устроим интереснее:
— матан-2 (ничего удивительного)
— тервер с матстатом (потому что в курсе «алгоритмов» есть и «вероятностные» оценки)
— все тот же английский
— физра
— структуры данных и алгоритмы (тут выбор адекватных учебников невелик — книжка Кормена)
— организация ЭВМ (регистровые машины из курса программирования превращаются в «настоящие» железки, что-то вроде курса по MIPS, который рекламирует [info]panchul)

В каждом из «компьютерных» предметов вводим новые языки программирования. От Scheme и нескольких DSL на ее основе в первом семестре — к, скажем, Паскалю в курсе алгоритмов и VHDL — в практических работах по «организации ЭВМ».

Те же тенденции продолжим и в третьем семестре, добавив, скажем Matlab и C:
— матан-3 (на этом закончим)
— вычислительная математика (с «практикумом» — то есть действительно «вычислительная»)
— английский (да и его пора «убрать»)
— безопасность жизнедеятельности (надо же с ней когда-то разделаться?)
— физра
— операционные системы (разработка и реализация — короче, книжка Таненбаума, See MIPS run Linux и что-то подобное)

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

В четвертом семестре предлагаю все же вспомнить, что математика — это отнюдь не «наше все». Например, сделаем так:
— философия (с упором на «прикладную философию» — то есть онтологию и теорию познания)
— математическая логика и теория алгоритмов (всякие машины Тьюринга, лямбда-исчисление и т. п.)
— физра (на этом все)
— технология разработки ПО (прежде всего методологии — разнообразные RUP, SCRUM, Getting Real и прочие buzzwords, ГОСТы 19 и 34)
— функциональное и логическое программирование (остатки SICP, PAIP Питера Норвига и прочие классические учебники по AI)
— правоведение (как источник «знаний» для логического программирования, и для галочки :) )

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

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

«Программирования» тут, как такового, нет — хотя никто не мешает, скажем, изучать TCP/IP на примере работающего стека из какой-нибудь ОС.

Вернем это благородное занятие в шестом семестре:
— ООП (в духе все той же «прикладной философии» — и не забываем, что П здесь — это скорее «проектирование», и не заменяем предмет на «изучение особенностей C++»)
— базы данных (и тут вспоминаем про понятие «отношения» и его отличие от «сущности»)
— инженерная и компьютерная графика (а тут можно использовать какую-нибудь «объектную» графическую библиотеку — да хоть Qt)
— архитектура вычислительных систем (именно систем — чтобы не путать это с «организацией ЭВМ»)
— электротехника и электроника (тоже из «общеинженерного»)

Здесь вспоминаем «прикладную философию» из четвертого семестра. «Программирование» вытаскиваем в курс машинной графики.

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

«Программирование» здесь превращается в «производство средств производства» — но Dragon book прочитать когда-то все же надо.

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

В общем, с некоторой степенью убедительности показано, что программу по «программистской» специальности можно разложить на восемь семестров (норма для так называемого «бакалавриата»), причем с некоторой степенью взаимоувязанности между предметами. Естественно, что это не гарантирует какого-то «качества» выпускников — можно же все свести к PHP+Delphi, как и делается в отечественных ВУЗах. Правда, некое представление об «идеальном» содержании курсов я попытался дать в скобочках — в виде указаний на книжки, например.

Теперь — о том, как этот «курс» соотносится, скажем с «все, что должен знать программист» за авторством [info]sharpc, или с программой [info]ailev, или же с программой [info]theiced.

Из первого списка он, в идеале, должен в достаточной степени полно покрывать пункты 2, 3, 4, 5, 6, 7, 8, 9, частично 10, 11, 12, 13, 14 — хотя бы на уровне понимания «что к чему», 15, 16, 19, 23, 25, 26, 28, 31, 33. Пункты типа 18, 20, 21 должны осваиваться за счет «жестких» требований к коду во время обучения. Грубо говоря, если код нечитаем, то практическое задание не принимается. Кроме того, в «нашем» курсе есть гуманитарные и «общеинженерные» дисциплины — от философии (которую я рассматриваю как почти прикладную науку) до основ управления производством. Инженер-программист (в отличие от ПТУшника, то есть техника-программиста) должен не только уметь «кодить», но и более глубоко понимать процесс разработки ПО в его «гуманитарных» аспектах (так как может выполнять и «организационные» работы).

Программа [info]ailev, наоборот, явно шире в «гуманитарной» части — от «грунтовки мозга», включающей лингвистику и формальную семантику «в объеме, чтобы свободно читать теоретические статьи по computer science» до «инженерных компетенций» с «инженерным менеджментом» — последние в «нашем» курсе сведены до семестровых курсов экономики, технологий разработки ПО, организации и планирования производства и человеко-машинного взаимодействия. И наоборот, computer science у нас довольно много, вплоть до каких-то безнадежно узких (но традиционных для CS) областей, типа ОС или компиляторов.

У [info]theiced наблюдаем тот же недостаток, что и у [info]sharpc — отсутствие «общеинженерных» дисциплин, плюс — повышенное внимание к таким вещам, как разнообразные конкретные инструменты. Еще из недостатков, с моей точки зрения — явная изначальная ориентированность на императивное программирование. Да, на практике оно используется куда чаще, но черт его знает, что там случится через 5 лет — так что ставить функциональщину в положение редкой экзотики определенно не надо. Другое достоинство айседовской программы — огромное количество «производственной практики» — но и готовить он предлагает не инженеров, а «адовых метаклассов» — то есть скорее техников-программистов 6 разряда :)

Пара замечаний «общего» характера — курс «функционального и логического программирования» нельзя подменять изучением Prolog, а курсы типа «архитектура вычислительных систем» должны давать навыки построения этих архитектур, а не перечислять умные слова из описания специальности. К сожалению, описание специальности настолько расплывчато, что на него в наших родных ВУЗах натягивают «изучение Delphi и курсовые на Excel» — но одновременно эта «расплывчатость» превращается в возможность запихнуть туда реально качественный курс, пусть даже и компромиссный по отношению к предложениям [info]sharpc и [info]ailev.

Кстати, так называемые «матшколы» в свое время легализовались именно благодаря такой «расплывчатости формулировок». Во времена Никиты Сергеевича Хрущева считалось, что выпускник общеобразовательной школы должен получить какую-то полезную в народном хозяйстве специальность. Специальность же «оператор ЭВМ» позволяла вставить в учебный процесс мощнейшую математическую подготовку (говоря словами [info]ailev, это «совершенствование«, доводимое почти до абсурда). В «навек родной писсят седьмой» от этой древней инициативы остался атавизм в виде «проекта» по информатике, сдаваемого в конце десятого класса. Это обычно довольно большая программа — типа IDE для Лого-подобного языка программирования или программы для игры в шашки с интерфейсом на OpenGL.

В общем, отвечая на вынесенный в заголовок вопрос, можно констатировать, что сами по себе существующие «образовательные стандарты» в области подготовки программистов вполне адекватны, и такое развлечение многих ЖЖ-юзеров, как составление «учебных планов» для мега-программистов, в целом лишено смысла — разве что позволяет понять, нужно ли автору высшее образование или же он пять лет протирал штаны в институте и мечтал о ПТУ :) Проблема же существования выпускников ВУЗов, владеющих исключительно PHP и Delphi, возникает не из-за учебных планов самих по себе, а из-за их реализации конкретными учебными заведениями.

Программист = ПТУшник

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

http://belnetmon.livejournal.com/2097200.html
http://theiced.livejournal.com/199711.html

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

Вниманию криптографов-любителей

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

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

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

Мы хотим на предстоящей неделе сделать следующее:
1. Опубликовать детальное описание архитектуры системы. Как расставлено оборудование, что с чем и как по каким протоколам взаимодействует, что где как шифруется и хэшируется, у кого на что какие права розданы.
2. Опубликовать исходный код системы.
3. В пятницу, 19 октября, после окончания регистрации, но до начала голосования, опубликовать списки избирателей — то есть, собственно, пресловутые хэши. В том числе, с указанием времени регистрации, статуса верификации (да/нет), способа верификации. Соответственно, по этому списку можно будет восстановить и сверить с ранее публиковавшимися данными всю динамику процесса регистрации. Заранее опубликованный список избирателей гарантирует, в частности, от подозрений/обвинений во включении в список «мертвых душ» в день голосования — для этого и нужна была, собственно, предварительная регистрация. Каждый избиратель сможет найти себя в списке избирателей, и еще раз проверить свой статус.
4. Опубликовать полные протоколы прошедших голосований (по дебатам, по конкурсам эссе) — естественно, в формате <хэш, результаты голосования>, это позволит, среди прочего, восстановить всю картину происходившего: какие избиратели голосовали по дебатам, как повлияли дебаты на их выбор, какая аудитория была охвачена дебатами. Каждый избиратель сможет проверить, что его голос во всех этих голосования был правильно учтен.
5. В дни голосования публиковать поступающие результаты в режиме онлайн, то есть выкладывать каждый кортеж вида <хэш, результаты голосования> непосредственно в момент голосования. При этом, чтобы не раскрывать результаты голосования до завершения голосования, ко всем строкам с результатами голосования будем просто применять одну и ту же перестановку, ключ этой перестановки будет заранее (скажем, в запечатанных конвертах) выдан представителям всех политических движений, участвующих в выборах. Таким образом, будет полностью исключена возможность внесения каких-либо изменений в результаты голосования задним числом.
6. По итогам голосования, естественно, опубликовать полную таблицу результатов, с возможностью для каждого избирателя проверить, правильно ли был учтен его голос.

http://leonwolf.livejournal.com/442561.html

Криптографы-любители (и не только) уже готовятся опубликовать по итогам голосования полную таблицу результатов: кто (ФИО) за кого (ФИО) голосовал, где проживает, и какова девичья фамилия матери.

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

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

http://projectprofy.ru/articles.phtml?aid=443

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

Например, когда я краем глаза взглянул на «методики» прогнозирования в так называемом «маркетинге», которые на полном серьезе применяются сейчас, в начале XXI века, то, как принято говорить, испытал некий когнитивный диссонанс. Одна часть сознания вспоминала о курсе «Оптимального управления», принципе максимума Понтрягина, линейном программировании, Нобелевской премии Канторовича и других высоконаучных вещах. Другая отказывалась воспринимать громадную экселевскую простыню с цифрами, в которой путем манипуляции буквально двумя-тремя коэффициентами можно было изобразить сколь угодно красивые графики захвата доли рынка, многомиллиардных прибылей и даже картину маслом с разорившимися конкурентами, просящими подаяния в электричках Казанского направления. Коэффициенты соответствовали попросту желаемой доле рынка в недалеком будущем. Никто не мешал влепить себе 20, 30, 50% — безо всякого обоснования, просто «шоб было красиво». Таблица очень напоминала описание из замечательного юмористического рассказа «Про кактусы и розы«:

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

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

В общем, пока меня кто-то не убедит в обратном, я буду считать, что все «прогнозы» в экономике и управлении — это не более, чем применение принципа левой пятки.

Сектантство

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

http://mymaster.livejournal.com/316616.html

После — значит, вследствие. Типичный ход мысли сектанта.

Для себя же я сделал эмпирический вывод — если на какой-то страничке в ЖЖ упоминаются фамилии Ликсутова, Каца, Блинкина или Вучика — то читать это не стоит.

К предыдущему

А что же говорил Альберт Гор (никакой он не Алан, кстати — но fact-checker’ов, не говоря уж о редакторах, в хипстерских СМИ не держат) на «технологической конференции в Остине»? Простой гуглеж по слова «al gore conference austin» выдает вот такую статейку:

http://www2.tbo.com/news/politics/2012/mar/13/gore-says-democracy-has-been-hacked-at-austin-conf-ar-368598/

Несмотря на слова об «our democracy», ключевые слова в разговоре Гора и Паркера — это «Arab Spring», недвусмысленно намекающие на то, для кого вся эта демократия предназначена. Не надо искать «деньги Госдепа» у отечественных ливаруцанеров. Они будут работать за идею, а направление работ достаточно только озвучить.

Шикарно

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

http://bg.ru/society/dal_vzjatku_zachekinsja-15063/

Шикарно здесь абсолютно все.

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

Именно так и выглядят «действия в интересах США». «Мне показалось, что это прекрасный повод» — и все. Никаких тебе агентов ЦРУ, никаких шпионов по подворотням — просто маленький намек на «технологической конференции в Остине» — и даже если один-единственный присутствующий из развивающихся стран сделает все правильно, то Ал Гор на конференцию приехал не зря.

Авторы здорово понимают, что такое анонимность:

Это вопрос анонимности — нельзя, например, сообщать о взятках по СМС, потому что тогда будет известен твой номер. Сообщить о взятке через сайт тоже нельзя, потому что страницу могут сломать, и тогда пойдет поток псевдовзяток. Естественно, мы сделаем приложение для Android и Nokia, но первым сделали для AppStore.

Или даже так:

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

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

Не уверены в достоверности сведений:

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

Кстати, как «персональные данные сразу удаляются» можно сочетать с «с одного телефона нельзя отправить больше определенного количества взяток в день»? Но вы не рефлексируйте, вы распространяйте:

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

И цели у аффтаров заслуживают внимания:

Если проект будет собирать какой-то действительно большой поток информации, то мы хотим запустить что-то вроде индекса бигмака — индекс, который будет диагностировать ситуацию со взятками в России. Появится поле для комментариев, чтобы люди могли выразить свое отношение к произошедшему — это очень важно. < … > Еще мы собираемся отдать софт Transparency International, чтобы они могли использовать его в разных странах.

А вы еще что-то говорите про «индекс восприятия коррупции» с положительной обратной связью :)

Ищут дизайнера

Для работы в дизайн-студию slava’saakyan требуется инициативный конструктор, имеющий желание создавать новые, современные конструкции. Нужен опыт разработки и постройки интерьеров вагонов. Реализованные проекты при собеседовании обязательны.
Задача — разработка конструкции интерьера плацкартного, купейного и общего вагона. Разработка фурнитуры. Создание рабочих 3D-моделей и выпуск чертежной документации.

http://bezdublya.livejournal.com/39598.html

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

Москва и грузовики

Тут в Москве, похоже, нарисовались новые «просьбы трудящихся«. Все от большего числа людей слышу высказывания в духе «не пускать в пределы МКАД фуры» — а судя по недавним заявлениям московских властей, эти идеи заблаговременно «вложены в головы» и вот-вот должны «выстрелить».

Для очистки мозга предлагаю ответить на простой вопрос в духе книжки «Секреты собеседований в Силиконовой Долине», или типа того: сколько грузовиков ежедневно въезжает в Москву? Простые прикидки показывают, что для фур счет идет на десятки тысяч. Пятитонные грузовики? Умножаем на четыре. «Газели» — еще на четыре. Что лучше? 16 «Газелей» или одна фура?

Разумеется, что фанаты московского правительства подадут голос от параши — есть же железные дороги! Спешу их обрадовать — средняя скорость грузовых поездов с учетом погрузочно-разгрузочных операций на российских железных дорогах составляет чудовищные 10,3 километра в час.

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

Про Python вопрос

Изучаю тут последние веяния в преподавании так называемой информатики. Например, в небезызвестной 179 школе Денис Кириенко использует для обучения матшкольников Python.

http://server.179.ru/wiki/?page=DenisKirienko/Python

В принципе, ничего сверхестественного в этом нет — задания не сильно отличаются от того, что обычно делается с использованием Pascal. Более того, какие-то специфические возможности Python используются крайне редко. Но вот почитал я «сопроводительные материалы», подумал маленько, погуглил — но так и не понял один очень простой вопрос. На размышления меня навела вот эта крохотная оговорка:

можно использовать структуру данных, называемую в Питоне список (в большинстве же языков программирования используется другой термин “массив”)

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

В принципе, это можно установить простым экспериментом — но мне лень ставить Python и экспериментировать с ним, так что спрошу питонознатцев — у вас там настоящие списки, с линейно растущим временем доступа по индексу, или же гибриды списков и массивов?