MySQLdb.escape — сломали и не сказали Среда, Окт 31 2007 

Политику прочь! Поговорим немножко о питоне.

У соединений MySQLdb всегда был такой метод — escape(), который принимал строку, кавычил её и экранировал опасные символы. Необязательно строку, на самом деле, что угодно. Так или иначе, вот он был, был, и прекрасно работал. Обычно он никому не нужен, потому что параметры запроса эскейпятся автоматически, если передавать их в запрос именно как параметры cursor.execute(query, params), а не вставлять тупо в строку. Но когда собираешь длинный запрос вручную, бывает проще использовать escape().

И вот я пишу что-то такое:

Python 2.4.1 (#2, May  5 2005, 11:32:06) 
>>> import MySQLdb as m
>>> c = m.connect(host='mysql.example.com', user='user', passwd='pass')
>>> print c.escape('123')
Traceback (most recent call last):
  File "", line 1, in ?
TypeError: no default type converter defined

(далее…)

ДА дебатам и пьяной драке Среда, Окт 31 2007 

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

Новости дня Четверг, Окт 25 2007 

Писать я начинаю,
В башке — бедлам и шум.
О чём писать, не знаю,
Но всё же напишу.

Итак, новости дня:

Blogowar и статистика WordPress Среда, Окт 24 2007 

…И всё-таки даже мне перепало от блоговарских щедрот.

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

То, что узбеков на вордпрессе считают русскими — ладно. Яндексовый поиск по блогам тоже частенько принимает болгаров за своих. Меня больше удивляет, как пост с жалкими 75 хитами оказывается на втором месте, если всего, как они пишут, 1,691,905 blogs with 57,383 new posts today. Понятно, что эти полтора миллиона и эти шестьдесят тысяч принадлежат разным языкам и национальностям, но всё-таки странно.
(далее…)

Война блогов — или ну её? Среда, Окт 24 2007 

По выходным я за комп не сажусь, народных забав избегаю, да и вообще тяжёл на подъём. Однако ж, как не написать о блоговарзе…

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

Как это я ловко ввернул про себя, как будто Дима вдохновился моими идеями! Теперь можно заявить: «ну конечно, я не считаю, что Дима вдохновился моими идеями» — всё равно никто не поверит. Так вот — я, конечно, не считаю,.. и т.д.

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

Если враг не сдаётся… Вторник, Окт 23 2007 

На фоне выхода Ubuntu 7.10 и бесконечных споров, всё-таки превзошёл линукс давно винду, или никогда не превзойдёт (а тем временем незаметно подкрался, эгхм, леопард…), демоническая компания M$ продолжает свои происки. Никак не сдаётся, зараза, под напором F/OSS.

Из последних новостей:

Итак, что мы наблюдаем? Мы наблюдаем, как M$ широким фронтом наступает на линуксоидов со стороны патентов. С одной стороны, заключаются пакты «о патентной неприкосновенности» — M$ обещает не обвинять в нарушении своих патентов пользователей тех дистрибутивов, которые готовы за это платить. Попутно они получают «прикормленные» дистрибутивы, и заодно прикидываются белыми и пушистыми, как бы стремясь к хорошей interoperability между платформами. Вообще, они делают до фига всего, чтобы в глазах бизнеса выглядеть открытой компанией, поддерживающей стандарты и open-source модель. Сюда попадает, во-первых, эпопея с OOXML, и, во-вторых, «открытие» исходников.
(далее…)

Я иду, шагаю по Москве Вторник, Окт 23 2007 

Так получилось, что вчера я решил пойти домой пешком.

Работаю я на Таганке, то есть в восточной стороне. Спать езжу в Мневники, сиречь на запад. Как известно каждому, кто освоил геометрию в пределах шестого класса, напрямую через центр в полтора раза ближе, чем по окружности. И действительно, когда по Москве ходишь пешком и напрямик, она кажется не такой огромной. Возможно, потому, что никому не придёт в голову идти пешком куда-нибудь в Южное Бутово.

Так или иначе, а дорога у меня получилась такая, и заняла два часа и примерно сорок две минуты. Если бы я не прозевал поворот на Никитскую (см. карту), то было бы на несколько минут быстрее.

По дороге миновал следующие некродостопримечательности: Мавзолей; Ваганьковское кладбище; а также безымянный мост, соединяющий Звенигородское шоссе и улицу Мневники. (В этот список я внёс его потому, что на всём протяжении моста — а это точно больше километра, может, и два — я с тоской размышлял, не зря ли я туда сунулся. Он, хоть и не автомагистраль, но для пешеходов явно не предназначен. Ну ладно, больше не пойду.)

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

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

Замечу также, что московские пробки замедляют даже велосипедиста. И что очень неудобно ездить на велике по улицам, у которых более трёх полос в одну сторону — безопасно перестроиться почти нереально.

Зато я надел каску.

P.S. Отдельно о картах. Сначала я патриотично принялся рисовать свой маршрут на Яндекс.Карте, но, во-первых, она подлым образом перепутала порядок моих контрольных точек, а во-вторых, там невозможно (?) толком нарисовать линию — можно только соединить все точки между собой. Гугловская не радует тем, что не показывает заголовков точек, пока не кликнешь. Кроме того, гугловская позволяет вставлять свою карту прямо в пост, но WordPress зачем-то её вырезает (видимо, не любит iframe). В общем, всё отстой, кроме пчёлок.

Баянофильтратор против баянотранслятора Среда, Окт 17 2007 

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

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

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

Конечно, нужно учитывать пути распространения баянов. Они плодятся в блогосфере, на развлекательных сайтах и форумах, передаются через аську и по почте. Наоборот, баян, лежащий в какой-нибудь википедии, таковым считаться, скорее всего, не должен (можно вешать дисклеймер: «все бояны, размещённые на этом сайте, опубликованы в образовательных целях, и не предназначены для дальнейшего использования«). Логичным приложением баянофильтратора была бы защита RSS-агрегаторов (той же Яндекс.Ленты) и лент друзей в блог-системах. Серьёзную проблему представляют медиабаяны — фотожабы и аудиоприколы. Опять-таки, нельзя забывать, что баяны часто передаются по ссылке, и их надо по возможности отсекать уже на этой стадии.

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

Какие ещё возможны подходы? Вот идейка, опять же, для агрегаторов. Рассмотрим, например, Google Reader, используемый в режиме «List View», когда каждую запись надо отдельно разворачивать, и на мониторе всегда развёрнуто не более одной записи. Софт может учитывать время, потраченное пользователем на прочтение конкретной записи, и количество текста в ней. Если скорость прочтения существенно выше средней (средней для конкретного пользователя, конечно — у разных людей она может очень сильно отличаться), значит, это либо известный баян, либо просто скучное сообщение. Если у многих читателей «мнение» совпадает, значит, сообщение в самом деле не супер, и другим его можно уже не показывать. Проблема тут одна: пока будем собирать статистику, запись уже всё равно уйдёт в историю. Однако если агрегатор, как GReader, принадлежит поисковику или крупному порталу, эту статистику можно использовать позже — например, в ранжировании поисковой выдачи.

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

Ну и в идеале, конечно, надо написать Универсальный Баяногенератор и встроить его в Я.Ру, чтоб обеспечить стабильный приток траффика.

Четверг, Окт 11 2007 

Читал дневники кандидатов от СПС (списки блоггеров от разных партий имеются в сети).

  • Никита Белых — обстоятельный, толковый. Пишет без заигрывания, чётко и вполне разумно.
  • Немцов, конечно, клоун. Никогда особым умом не блистал. Некоторые думают, что его дневник может быть поддельным, но вряд ли — легко могу поверить, что он сам всё это пишет. До Жирика далеко, но есть что-то неуловимо общее…
  • Маша Гайдар очень искренняя и простодушная. Единственный минус — маловато пишет от себя, больше перепечатывает интервью и прочее. Но в общем видно, что симпатичная и порядочная барышня. Даже, наверно, слишком порядочная — хотя СПС то и сё, но безупречно честных политиков не бывает. Так что либо она станет практичнее/циничнее, либо уйдёт из политики, вслед за папой.
  • Леонид Гозман, видимо, действительно очень умный дядька (я мало про него знаю), и тоже не от хорошей жизни занимается политикой. Собственно, в девяностых было много выдающихся людей такой же судьбы: Гайдар, Чубайс, Собчак… Я уж не говорю про Сахарова (он, конечно, раньше; но он тоже попал в тот исторический момент, когда диссиденты становились политиками). Мне, конечно, расскажут сейчас про дерьмократов, распродавших Россию… — но почему-то бабло оказалось вовсе не у них, а у тех, кто сейчас сросся с властью. Ладно, об этом отдельно. Насчёт Гозмана — аффтар, пеши исчо. Три поста пока что, не густо.

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

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

Путинское время, как и семидесятые, отмечено высокими ценами на нефть. За счёт этого в экономике много шальных денег — например, в Москве они, как известно, валяются под ногами. Вряд ли стоит приписывать это «процветание» гению нашего правителя. Возможно, нефть и дальше будет расти в цене, но от власти тоже хотелось бы действий, направленных на благо народа. А так — что? Сократили срок службы в армии, это единственное, что мне приходит в голову. Но бюрократия растёт, коррупция процветает, свободу слова зажимают, судебные процессы какие-то порнографические происходят, параллельно — фашики, «нашики», лобзания с диктаторами, ругань с Западом… Я не хочу ругаться с Европой! Я хочу ездить в неё, и желательно без визы.

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

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

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

Звукоторговцев — на свалку истории! Четверг, Окт 11 2007 

Как сообщают, уже не только Nine Inch Nails, но даже и Мадонна отказываются от контрактов с мировыми лейблами и распространяют своё творчество более или менее самостоятельно. Такой асимметричный ответ на закрытие AllofMP3.com 🙂

Вы спрашиваете, как это отразится на евреях? Вопрос спорный: мы-то всё равно слушаем ворованное, у нас в суд не потащат. Однако если действительно глобальные правообладатели придут в упадок, это может позитивно сказаться и на таких пиратских уголках, как наша необъятная отчизна. Давление на P2P-сети уменьшится, работать они станут лучше. Возможно, что движение «прочь от лейблов» захватит и кино, что было бы особенно приятно. По касательной зацепит и Микрософт, который понапихал DRM по всей Висте. Чем дальше, тем больше будет дешёвого хорошего контента, не отягощённого защитой от копирования и закрытыми форматами. Железо будет дешеветь, поскольку в него не нужно будет встраивать всё тот же DRM. Ура! Коммунизм! Всеобщее счастье!..

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

Следующая страница →