Велотриал на Красной площади

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

Дальше фотографии примерно на 3 МБ.

Читать далее…

Литературное

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

Я еще понимаю, когда критик указывает на косяки, допущенные автором, но когда критик начинает додумывать то, о чем в произведении нет и речи, то это уже называется разыгралась фантазия. Со школы не понимал смысла сочинений, когда нужно было описать какого-то героя. Ну вот зачем это надо, описывать, что %username% обладает качествами A, B, C, но зато не обладает X, Y, Z? Мне всегда казалось, что автор (нормальный автор) пишет свое произведение, чтобы выразить свое ИМХО по какому-нибудь вопросу, а все герои — это только инструменты, чтобы это самое ИМХО сформулировать.

А еще всегда было интересно что означает выражение «плоские герои», особенно часто это выражение мне попадалось в ЖЖ-шном сообществе [ljcomm]chto_chitat[/ljcomm]. А правильные герои они какие, выпуклые или впуклые? Как можно определить их выпуклость?

Особенно смешно, когда критик начинает растекаться по древу по поводу того как бы поступил %username%, есть бы попал с ситуацию XYZ. Как бы автор захотел, так бы и поступил. Это как с котом Шредингера, пока не открыли ящик, что там с котом — хз. Так и тут пока автор не написал, чего гадать то? Они так сплетничают про героев, как-будто они лично знакомы с %username%.

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

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

Улучшим регулярные выражения

Вчера закинул эту статью на Хабр, сейчас опубликую ее здесь.

После прочтения книги Фридла про регулярные выражения (далее просто РВ) у меня появились кое-какие мысли по поводу их читаемости. Когда РВ только появлялись, и в них было довольно мало условных обозначений вроде \d, \w и тому подобных, то, наверное, все было не так страшно, хотя уже тогда стоило задуматься о наглядности. Сейчас чтение кода с РВ — это тихий ужас. Нет, если РВ короткое, то особых проблем нет, но по мере их усложнения и появления различных скобок все становится просто кошмарно. Ситуация усугубляется тем, что в некоторых языках (не будем указывать пальцем) постоянно приходится удваивать слеши.

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

Читать далее…

Джеффри Фридл «Регулярные выражения»

regularТолько что дочитал книгу Джеффри Фридла «Регулярные выражения». Если говорить коротко, то издательство O’Reilly держит планку, книжка стоящая.

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

Вторая часть посвящена обсуждению обработки регулярных выражений. Здесь описывается работа трех типов механизмов регулярных выражений, которые встречаются: так называемые недетерминированный конечный автомат (НКА), детерминированный конечный автомат (ДКА) и POSIX НКА. В основном книга посвящена работе с НКА, который применяется в большинстве распространенных языках программирования (C#/VB.NET, Java, Perl и присутствует в PHP в виде функций preg).

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

В четвертой части подробно описываются возможности разных языков и сред (Perl, Java, .NET, PHP), касающихся работы с регулярными выражениями. На обложке еще упоминается Ruby, но в книге он затронут вскользь, но так же мельком проскакивает и Python с Tcl. Хотя я и не пишу на Perl’е (и надеюсь, что в ближайшее время не буду :)), но главу, посвященную только этому языку прочитал с удовольствием, интересно было узнать что в нем такого есть, чего нет в других языках.

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

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

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

Замена Qip — qutIM

Замена Qip - qutIM

На днях вышла 0.2-я версия многопротокольной проги для мгновенного обмена сообщений (IM) qutIM, я решил его поподробнее рассмотреть. Разработчики qutIM поставили перед собой отличную идею — сделать кроссплатформенную Миранду, в том смысле, что в этом IM тоже все сделано на плагинах, но, в отличие от Миранды, здесь кроме винды поддерживаются Linux и Mac. Я, правда, эту прогу пробовал только под Винду.

Из протоколов qutIM в данный момент может работать с ICQ, Jabber, IRC, Vkontakte.ru, Mail.ru, кроме того с официального сайта можно скачать плагин для Twitter’а.

Читать далее…

Парад триала на Красной площади

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

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

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

Еще интересно как это все будет организовано, насколько близко подпустят зрителей и удастся ли вообще близко подойти из-за толп народу, которые постоянно образуются на Красной площади.

Чуть более подробная инфа про мероприятие есть здесь.

История развития электродинамики. Уравнения Максвелла

Мозилловцы отожгли

Сегодня вслед за Firefox 3.5 beta 4 вышел Firefox 3.5 beta аж 99. Правильно, чего уж мелочиться с числами. Как говорят на официальном форуме, скоро должен выйти релиз-кандидат, а эту бету можно считать релиз-кандидатом для релиз-кандидата.

Ссылку на скачивание на оф. сайте что-то не нашел, там лежит еще beta 4, но скачать 99-ку можно отсюда, да и в обновлениях она уже появилась.

Котяра

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

Читать далее…

Скороговорки для программистов

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

Вот эти операторы:

  • !~
  • =~
  • !~#
  • =~#
  • !~?
  • =~?

А можно их еще разбавить цифрами. При наборе нужно использовать цифры на верхнем ряде клавиатуры, а не на отдельном блоке:

  • «1»!~#»3″

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

Скоронабиралку можно еще усложнить:

  • a1!~#»3″&& &shell!~?a:{1}

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