Сентябрь 2010

Про Amazon EC2

Развлекаюсь тут с Amazon EC2 и вот чего не могу понять

Хочется, на самом деле, SUSE 11.2, потому что весь девелопмент проекта на нем и бинарники, соответственно, переносимы без лишних ужимок (и почти гарантированно думать про это не надо)

Но! Я попробовал два готовых имаджа с SUSE нужной версии и нужной битности и оба не загрузились. На консоли неясное, по ssh не пускают. Попал на круглую сумму, центов на пять.

С Амазоновским AMI (Amazon Linux) - никаких проблем, но см. выше.

Риторический вопрос, это опять моральные индусы меня окружают или же просто два раза из двух не повезло?

Update: сошлись с ними на 12-й федоре. И проект собирается (gcc 4.4 из коробки и все такое) и имеющийся образ с EBS - загрузился.

Административное: антиспам

Приношу извинения всем, пострадавшим в последнее время от спамфильтра в каментах. В защиту его могу сказать, что спам он тоже фильтрует :)

Я его немного приструнил, посмотрим на результат. Спам мне тоже не очень нужен, прямо скажем.

Вместе с тем:

  • Регистрация сильно помогает. Тоже не все получится запостить, но гораздо легче....
  • Не стесняйтесь жаловаться, у нас тут интерактивный интернет.

P.S. По результатам разборок - это превед от байесовской фильтрации. Если в спаме есть произвольный текст - он быстро и выстрелит....

гигабайты формул

Для тех, кому интересна внутренняя кухня: сложность формулы ранжирования выросла почти в два с половиной раза, и теперь объем формулы составляет 280 Мбайт (совсем недавно, в июле 2010 года, Илья Сегалович на конференции SIGIR рассказывал, что формула ранжирования, занимавшая в 2006 году 0,02 килобайта, разрослась до ~120 Мбайт, а теперь ему снова придется перерисовывать слайд).

отсюда.

По всей видимости, в Яндексе поточнее посчитали число π?

LibRaw 0.10 и 0.11

Некоторые пользователи LibRaw тусуются здесь, поэтому я тут и поспамлю немножко.

LibRaw 0.10 Release
Это формальный выпуск, признание того факта, что версия 0.10 - стабильна, каких-то значимых нареканий на нее за лето не было. Значимых отличий от 0.10-Beta3 нет.
LibRaw 0.11 Beta1
А это, наоборот, дивный новый мир с дополнениями и изменениями:
  • Выходное изображение (результат) можно кропать. Кроппинг делается до постпроцессинга, поэтому для маленького выходного размера постпроцессинг будет очень быстрым*.
  • Сильно изменена обработка вычитания
...

Ну кто так строит.....

С лета у меня висела плавающая бага, все руки не доходили.

Суть в том, что в LibRaw внутри аллоцируется кусок памяти, отдается вызвавшему приложению, а оно, когда с ним наиграется, должно освободить его путем банального free()

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

Оказалось

  • У Microsoft есть две библиотеки для работы с памятью, нормальная и отладочная. Ну, нормально, у всех так.
  • Но аллоцируемое этими библиотеками - несовместимо между собой. То что одна malloc(), то другая не может free(). Ну тоже понятно.
  • Но при этом - нет никаких проблем слинковать в приложение сразу две эти библиотеки. Релизный DLL тянет с собой релизную, отладочный код приложения - отладочную.
Ну а дальше - понятно, что релизный DLL аллоцировал, то отладочное приложение освободить не может, а может только упасть.

Дети, это нельзя понять, это надо запомнить.

Избаловались мы в юниксах с этими самыми

LD_PRELOAD=/path/to/debug-malloc.so ./myapp
А, да, сухой остаток, сижу выпиливаю в LibRaw зеркальный вызов, который будет освобождать аллоцированное строго правильным освободителем. Две строчки кода, блин.