• Распознавание изображений. Алгоритм Eigenface

      Введение



      Я продолжаю серию статей посвящённую тематике pattern recognition, computer vision и machine learning. Сегодня я вам представляю обзор алгоритма, который носит название eigenface.



      В основе алгоритма лежит использование фундаментальных статистических характеристик: средних (мат. ожидание) и ковариационной матрицы; использование метода главных компонент. Мы также коснёмся таких понятий линейной алгебры, как собственные значения (eigenvalues) и собственные вектора (eigenvectors) (wiki: ru, eng). И вдобавок, поработаем в многомерном пространстве.
      Как бы страшно всё это не звучало, данный алгоритм, пожалуй, является одним из самых простых рассмотренных мною, его реализация не превышает нескольких десятков строк, в тоже время он показывает неплохие результаты в ряде задач.

      Мне не страшно.
    • Как разобрать Dell Inspiron 1525 и ничего не сломать ;)

        Конец уже содержится в начале. Джордж Оруэлл, 1948 год



        Это не обычный обзор ноутбука, а скорее обзор некоторых технических возможностей и, главное, некая инструкция по полной безболезненной разборке/сборке.
        Во время обзора будем стараться рассматривать его преимущества и недостатки.
        Подопытный ноутбук Dell Inspiron 1525

        как разобрать ноутбук
        (осторожно, более 30 фото)
        Приступим...
      • ИИ — Сделай сам

          Очень приятно, что тема искусственного интеллекта не заглохла, а продолжает развиваться. Здесь уже набралось множество статей с прекрасными идеями и интересными комментариями. Глядя на все это многообразие, захотелось вернуться к начатой полгода назад серии публикаций и поделиться некоторыми возникшими с тех пор мыслями и рассуждениями. Все это я попытался скомпоновать в одну большую статью, которая описывает все аспекты того, как будет работать конечный продукт, и содержит соображения по его реализации.
          Читать дальше →
        • Как продлить жизнь (ресурс) литий-ионной аккумуляторной батареи

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


            Литий-ионные аккумуляторы больше страдают от процесса «старения» (ухудшение характеристик на протяжении времени), чем от циклирования. Это означает, что большинство аккумуляторов не может служить свыше 5 лет при обычных условиях эксплуатации (оптимистичный прогноз). Мораль такова — если покупаете литий-ионный аккумулятор, внимательно относитесь к дате изготовления — при полугодовой давности вы потеряете 10% от заявленого ресурса.


            Старение батарей ускоряется при работе или хранении в жарких условиях – смотри таблицу для литий-кобальтовых аккумуляторов (для литий-марганцевых и литий-железных батарей результаты немного лучше)



            Деградация характеристик литий-кобальтовых аккумуляторов всвязи с температурой хранения
            Температура, °C 40% уровень заряда (рекомендуемый уровень заряда) 100% уровень заряда (поддерживается пользователями при работе)
            0°C
            98% через 1 год
            94% через 1 год
            25°C
            96% через 1 год
            80% через 1 год
            40°C
            85% через 1 год
            65% через 1 год
            60°C
            75% через 1 год
            60% через 3 месяца

            Читать дальше →
          • Использование библиотеки для полнотекстового поиска Xapian в Python

            Сегодня, в эпоху Web 2.0, когда контента на сайтах становится все больше и больше, перед разработчиками встает задача реализации полнотекстового поиска.

            Вариантов немного:
            • использовать виджеты от разработчиков поисковых систем (Google, Яндекс, etc): легко внедрить, привычный для пользователя интерфейс, поддержка морфологии, исправление слов по словарю, возможно более быстрая индексация сайта поисковыми системами, но, как правило ограниченные возможности по настройке и неизбежное запаздывание индексации;
            • использовать встроенные в СУБД средства (например FULLTEXT-индекс для MySQL): достаточно легко внедрить, актуальный поисковый индекс, полный контроль над настройкой и внешним видом, но, чаще всего очень низкая производительность на больших объемах данных, отсутствие учета морфологии, либо, в худшем случае, полное отсутствие подобных средств в СУБД;
            • использовать отдельную библиотеку/систему полнотекствого поиска.

            Третий вариант кажется самым лучшим, ведь он сочетает достоинства двух других вариантов. Правда и здесь не обошлось без недостатков — библиотека требует установки, иногда даже запуска демона (например Sphinx), что может быть неприемлемо.

            Решений существует масса, у каждого есть свои достоинства и недостатки. Я бы хотел подробнее остановиться на относительно малоизвестной библиотеке Xapian.
            Читать дальше →
          • Не используй человека-клавиатуру

            • Перевод
            image
            Есть несколько вещей, которые раздражают меня больше, чем когда мне не по своей воле приходится принимать участие в создании привычки (или культуры), которая заставляет относиться к людям как к компьютерным клавиатурам. Люди не должны восприниматься как кнопки, на которые можно нажать, чтобы вызвать определенные функции.

            Что я подразумеваю под термином «человек-клавиатура»? Представьте себе на минуту, что вместо набора на клавиатуре или использования мыши, вам приходилось бы просить человека выполнить какую-нибудь задачу.
            «Зайди в мою электронную почту».
            «Покажи первое сообщение».
            «Прокрути немного вниз».
            «Прокрути чуть больше вниз».
            «Я хочу ответить на это письмо».
            Представляете себе, насколько страшное воздействие на производительность и удобство использования компьютером окажет такой интерфейс! Для такой простой задачи как «проверка e-mail» требуется 2 человека – вы и «человек-клавиатура», что повлечет за собой двойные затраты, двойные ошибки, проблемы в коммуникации между ними. Тем не менее, несмотря на глупость этого примера, похожие ситуации возникают довольно часто в бизнесе, при взаимодействии между сотрудниками, которые решают и ставят задачи друг друга.
            Читать дальше →
          • Уязвимость связки PHP+nginx с кривым конфигом

              Summary


              Announced: 2010-05-20
              Credits: 80sec
              Affects: сайты на ngnix+php с возможностью загрузки файлов в директории с fastcgi_pass




              Background


              Зачастую How-To по настройке связки nginx с php-fpm / php-cgi есть подобные строчки:

              location ~ \.php$ {
                  fastcgi_pass 127.0.0.1:9000;
                  fastcgi_index index.php;
                  fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
                  include fastcgi_params;
              }
              

              Читать дальше →
            • Сравнение кодеков libtheora и x264

                После того, как Youtube и Vimeo представили свои тестовые страницы в HTML5, вновь пошла волна разговоров, о том, что же лучше: H.264 или Ogg Theora.

                Я, конечно, за свободный веб. Но выводы о том, что Theora превосходит H.264 по качеству, сделанные многими людьми по результатам двух сомнительных сравнений (раз и два) весьма поспешны.
                Медведю плохо

                В первом сравнении вообще не представлено ни тестового видео, ни каких-либо настроек кодеков. Во втором сказано, что для H.264-кодека взят заведомо отстойный пресет с Youtube, а настройки Теоры умалчиваются.

                Так я решил сам проверить, что есть Ogg Theora и на что этот кодек способен.
                Графики, скриншоты, трафик
              • Материалы продвинутого уровня по Питону

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

                  После прочтения Dive into Python или подобной ей и ознакомления с документацией возникает вопрос, а что читать дальше? Можно обратиться к списку книг на python.org. Там есть раздел Advanced Books, но в нем всего лишь 6 книг (седьмая не выходила), и только одну я бы назвал по-настоящему стоящей.

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

                  Ниже собраны сложные материлы про Питон, его устройство и возможности. Все на английском (грех, не знать технический английский). Про Dive into Python я слукавил. Большинство приведенных материалов требуют хорошее знание Питона и наличие опыта программирования на нем.

                  Подробнее
                • Переезд в Агаве

                    Это как вообще, нормальная, общемировая практика или что?!

                    «
                    Уважаемые пользователи!

                    В связи с изменением стоимости размещения серверов в Агава-2 мы вынуждены перевезти большую часть оборудования в наш дата-центр «Агава-Север» в городе Долгопрудном: www.renter.ru/dc.shtml

                    В данный момент составляется график транспортировки серверов. Переезд будет осуществляться 14го, 18го и 21 января.

                    Просим вас оперативно (до 13го января) прислать на col@agava.com информацию, необходимую для транспортировки:
                    — удобную для вас дату переезда (14го, 18го и 21 января);
                    — номер сервера;
                    — авторизационные данные.

                    Если информация с пожеланиями по переезду не будет предоставлена вовремя, мы будем вынуждены назначить дату по своему усмотрению. Во время переезда сервера не будут доступны ориентировочно с 7 до 19 часов.

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

                    Может я не понимаю чего, но мне кажется это просто жесть. Переезжать с 7 до 19 часов, то есть весь день. Там есть сервера на которых минимум по 50 клиентов.

                    Что думаете?
                    Читать дальше →