Чтобы в VirtualBox OSE работал pxeboot в guest системах, надо загрузить и установить в настройках расширение Oracle VM VirtualBox Extension Pack. Найти можно тут.
Monday, July 25, 2011
Обзор rspamd
Планировал разместить эту статью на хабре, но, к сожалению, по каким-то причинам она не прошла премодерации в "песочнице". Поэтому продублирую ее здесь.
Wednesday, July 20, 2011
Автообучение rspamd
Стало совершенно очевидным, что автообучение, основанное на срабатывании правил, как это сделано в SA, - совершенно порочная практика, которая реально может привести к тому, что хорошие письма, но отправленные "не с тех" релеев или же имеющие некоторые спам сигнатуры (а таких честных писем достаточно много), будут статистикой еще больше давиться в сторону оценки как спам. Кроме того, это может засорять статистику неправильными срабатываниями. Для rspamd сейчас я продумываю концепцию, чтобы сделать автообучение максимально адаптивным.
Monday, July 18, 2011
Мысли о конфигурационных файлах.
К сожалению, простого и универсального решения в плане конфигурации некоторой достаточно сложной программы не существует. И каждый, кто пишет систему для конфигурации, либо изобретает что-то новое, либо берет одно из готовых (универсальных) решений, либо пытается комбинировать.
Friday, July 15, 2011
Отчет о поездке в Киров на машине
Так уж сложилось, что я недавно съездил в Киров на машине в третий раз. Поэтому решил написать небольшой отчет, который может помочь тем, кто едет в том направлении (Москва - Нижний Новгород - Киров) в первый раз.
Цвета подсказок eclipse в ubuntu.
При запуске eclipse под ubuntu подсказки отображаются черными на черном. Решения этой проблемы подробно рассмотрены тут:
https://bugs.launchpad.net/ubuntu/+source/light-themes/+bug/540332
Для себя я выбрал способ добавления в ini файл опций раскраски:
При этом, если какой-то плагин продолжает показывать корявые цвета, то его настройки можно найти в той же директории и таким же образом похачить. Например, так я починил плагин ShellEd (net.sourceforge.shelled.ui.prefs).
https://bugs.launchpad.net/ubuntu/+source/light-themes/+bug/540332
Для себя я выбрал способ добавления в ini файл опций раскраски:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
echo 'sourceHoverBackgroundColor=245,245,181' >> ~/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.ui.prefs | |
echo 'sourceHoverBackgroundColor.SystemDefault=false' >> ~/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.cdt.ui.prefs |
При этом, если какой-то плагин продолжает показывать корявые цвета, то его настройки можно найти в той же директории и таким же образом похачить. Например, так я починил плагин ShellEd (net.sourceforge.shelled.ui.prefs).
Thursday, July 14, 2011
BSD diff
Исправляя проблему в rspamd с неверным рассчетом "похожести" частей в мультипарте, решил заменить вычисление расстояния Левенштейна на поиск максимальной общей подстроки - алгоритм, используемый в diff. В итоге нашел алгоритм под MIT лицензией (практически аналогичной BSD), который мне и подошел: http://www.ioplex.com/~miallen/libmba/dl/src/diff.c
После небольших изменений под glib (например, использование GArray) я написал тест для сравнения с вычислением расстояния Левенштейна. Для коротких текстов разница в скорости практически незначительна, но уже на 20кб тексте расстояние Левенштейна считалось 8 секунд, а diff алгоритм выполнился за 8 миллисекунд, что вполне приемлимо для работы.
Теперь пытаюсь найти алгоритм для вычисления нечеткой сигнатуры для письма. Используемый сейчас алгоритм - производная от ssdeep - очень плохо устойчив к сдвигам внутри текста. Любой сдвиг гарантированно разбивает несколько участков сигнатуры. Кроме этого, есть задача сокращения размерности сигнатуры (сейчас это 64 символа) для того, чтобы искать сигнатуру по KD-дереву, которое опять же плохо работает для больших размерностей (неэффективно как в плане памяти, так и в плане нахождения похожих элементов).
После небольших изменений под glib (например, использование GArray) я написал тест для сравнения с вычислением расстояния Левенштейна. Для коротких текстов разница в скорости практически незначительна, но уже на 20кб тексте расстояние Левенштейна считалось 8 секунд, а diff алгоритм выполнился за 8 миллисекунд, что вполне приемлимо для работы.
Теперь пытаюсь найти алгоритм для вычисления нечеткой сигнатуры для письма. Используемый сейчас алгоритм - производная от ssdeep - очень плохо устойчив к сдвигам внутри текста. Любой сдвиг гарантированно разбивает несколько участков сигнатуры. Кроме этого, есть задача сокращения размерности сигнатуры (сейчас это 64 символа) для того, чтобы искать сигнатуру по KD-дереву, которое опять же плохо работает для больших размерностей (неэффективно как в плане памяти, так и в плане нахождения похожих элементов).
Wednesday, July 13, 2011
Новый переезд
В связи с ублюдской политикой РосНИИРОСа относительно доменов третьего уровня, я принял решение перенести свой технический блог сюда. Благо, импортировать данные из wordpress не составляет никаких трудностей.
Subscribe to:
Posts (Atom)