Трудности перевода

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

DSC_0500

Сумбурное описание алгоритма роя частиц

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

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

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

Читать далее ‘Сумбурное описание алгоритма роя частиц’ »

Фигуры на детских площадках

Фигуры на детских площадках

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

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

Теплый Стан. Девушка-зомби

Читать далее ‘Фигуры на детских площадках’ »

Про поисковые фразы

Про поисковые фразы

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

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

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

папугаи-партрет — интересно, автор фразы нашел то, что искал? Очень уж хочется посмотреть

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

юмор про c# — видно заходили суровые челябинские программисты

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

Читать далее ‘Про поисковые фразы’ »

Новостное

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

oborona

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

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

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

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

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

  • «1»!~#»3″

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

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

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

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

Бедный Винни

Сегодня пока стоял в очереди за билетом на чемпионат мира по скульптуре из песка в Коломенском (о нем фотоотчет будет попозже. UPD: Фотоотчет лежит здесь) увидел такое, от чего у меня мурашки пошли по коже. Такого издевательства и унижения не выдержит ни один представитель мужского населения планеты.

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

Читать далее ‘Бедный Винни’ »

Смайлики в коде

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

Полку дотнетчиков прибыло

Сегодня одним дотнетчиком стало больше, хотя сначала мы с потерпевшим поехали в магазин выбрать ему книжку по C++, а ушел он с книжкой про C#. Но я в этом не виноват… почти .

Началось все с того, что коллега решил неожиданно изучить C++ и попросил помочь ему выбрать книжку. Поехали в книжный, среди нескольких кирпичей выбрали один, страниц на 800 (а именно это). Судя по оглавлению, хорошая книжка — основы языка, ООП, шаблоны, STL, в общем, полный набор. Я думал, что на этом все и закончится, и со спокойной душой пошел к другому шкафу посмотреть книжки для себя.

Но не уследил. Стоило отойти от приятеля на пару минут, как он приносит какую-то подозрительно тонкую книженцию с надписью «Visual C++ 2008» на обложке и говорит Ларису Ивановну хочу, что хочет купить эту книжку. Почуяв недоброе, листаю книжку и  действительно оказывается, что она про Managed C++.

Опасаясь за рассудок приятеля после изучения этого языка (когда я впервые увидел ЭТО в какой-то из статей, у меня от одного синтаксиса шерсть дыбом встала), попытался ему объяснить, что это не тот C++, но он упирался, говорил, что ему нужно именно ЭТО, потому что там написано как делать окошки и рисовать в них графики, а в той книжке по C++ этого нет. Попытался объяснить ему, что в той книжке этого не будет, потому что в стандарте ничего не написано про рисование окошек, и ему после 800-страничного талмуда придется изучать еще библиотеку для создания интерфейсов, после чего приятель окончательно захотел изучить именно Managed C++.

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

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

Надеюсь, что суд учтет все обстоятельства дела и вынесет справедливый приговор.

Не виноватый я

— Простите,а церковь тоже я разрушил?
— Нет, это сделали до вас в 14 веке

(с) Кавказская пленница

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

Меня аж передернуло, начал судорожно вспоминать, что я такого мог натворить за последнее время. Вроде с сервером ЖЖ давно не игрался, ботов не делал никогда. Потом вспомнил, что был такой пост про то, что френдлента не нужна, типа RSS рулит, тогда понял, что фраза «от Jenyay» относится к слову «Комментарий». Стало спокойней 🙂