Search
Write a publication
Pull to refresh
0
0
NickLion @NickLion

User

Send message

Аппаратное декодирование видео на AMD Radeon в Ubuntu (mplayer)

Reading time5 min
Views20K

Введение


Когда у меня была карточка от Nvidia, вопросов с воспроизведением видео на ней не было: Скачиваешь последний snapshot с сайта mplayer, устанавливаешь проприетарные драйвера, собираешь с поддержкой vdpau, добавляешь соответствующие кодеки и устройство вывода, и всё работает (стоит заметить, что в некоторых дистрибутивах поддержка vdpau уже есть в mplayer).
Не давно у меня появился AMD Radeon, при выборе видеокарты мысленные преграды существовали для использования Radeon'a, в том числе касающиеся настройки аппаратного декодирования. Но они были успешно сломлены финансовой стороной вопроса, так и появился у меня AMD Radeon HD с UVD3.
Данная статья появилась как результат поиска на тему: как заставить видеокарту декодировать видео + сохранить в качестве заметки на будущее. Итак приступим.
Примечание: В комментариях было указано, что это устаревший способ, новый способ описан по ссылке, а готовый скрипт лежит тут.
Читать дальше →

Беспорядки в Англии и автоматическое распознавание лиц

Reading time3 min
Views2.3K


Английская молодёжь громит магазины, а полиция ничего не может сделать, кроме как изучать видео с уличных камер наблюдения (благо, Великобритания занимает первое место в мире по плотности камер наблюдения). Полиция начала выкладывать фотографии хулиганов на Flickr и просит идентифицировать нарушителей. Сами граждане тоже делают фотографии из окон домов, так что на Facebook, Flickr и Twitter уже скопилось немало снимков.

И работа началась. На Google Groups образована группа London Riots Facial Recognition, которая обсуждает технологии автоматического распознавания лиц для обработки массива фотографий из открытых источников. Один разработчик предлагает свою помощь в разработке программы с применением Face.API. Получится у него или нет, но со временем такие технологии наверняка будут созданы.
Читать дальше →

Исследователям из Microsoft Research удалось на несколько порядков ускорить вычисления в гомоморфной криптографической системе

Reading time2 min
Views2.5K
Гомоморфное шифрование — криптографическая система, которая позволяет проводить определенные математические действия с открытым текстом путем произведения (в общем случае других) операций с зашифрованным текстом.


Первая полностью гомоморфная криптосистема была создана Крэйгом Джентри в 2009 году. Однако скорость вычислений была настолько низкой, что говорить о каком-либо практическом применении было невозможно.

Полностью гомоморфная криптографическая система с приемлемой скоростью работы — своего рода “Священный Грааль” криптографии. Она позволила бы осуществлять поиск, статистические вычисления и любые другие операции над зашифрованными данными, что избавило бы от необходимости искать компромисс между конфиденциальностью и удобством. Это дало бы мощный толчок облачным платформам, решило бы вопрос с утечками персональных данных пользователей многих интернет-сервисов, сильно упростило бы жизнь организациям, работающим с чувствительными медицинскими или финансовыми данными.

Кристин Лотер и её коллегам Виноду Вайкунтанатану и Микаэлю Неригу удалось создать прототип такой системы, способный делать 100 операций сложения 128-битных чисел за 20 миллисекунд на обычном ноутбуке. Раньше подобные вычисления занимали минуты и часы.
Читать дальше →

Кластеризация. Алгоритм а-квазиэквивалентности

Reading time3 min
Views7.5K
Странно, но статей о извлечение знаний (data mining) и кластеризации (как одном из основных инструментом, которие используются для извлечения знаний) на Хабре совсем немного. А если говорить говорить о конкретных алгоритмах, то рассматривались только hard/soft k-means.

В статье ниже описывается теория и реализация (Python + matplotlib) не очень известного, но крайне интересного иерархического метода который можно назвать алгоритмом а-квазиэквивалентности.

Читать дальше →

ARM — это сложно…?

Reading time3 min
Views105K
После моей недавней статьи на хабре про рвущие все по цене армы было высказано много мнений, что ARM-у нужна 4-6-слойная плата, ну уж 2 то как минимум, и куча обвязки.

Я решил попробовать доказать, что это далеко от истины, и сделал платку, проще которой трудно: 1 сторонняя, 1 обязательный конденсатор (до стабилизатора не обязательно), 1 резистор, один стабилизатор 3.3V, и наконец младший STM32: STM32F100C4T6B — 16кб флеш, 4кб SRAM, 48 ног, Cortex-M3(!!!) с DMA, дебагом на лету, 32*32+32->32 за 1 такт и всеми прочими радостями за 28 рублей.
Читать дальше →

Утечка конфиденциальных данных глазами 96%

Reading time1 min
Views1.5K
Ретроспектива сюжетов Первого канала, посвященная утечке информации через поисковики. В сюжетах можно услышать официальные точки зрения от представителей участвующих в драме компаний.


UPD Добавил еще один ролик, про секретные и ДСП документы.

еще шесть сюжетов

Алгоритм: Как оформить баг на ядро Linux

Reading time4 min
Views2.3K
Мой опыт в разработке и отладке Parallels Virtuozzo Containers позволил обобщить и сформулировать список пожеланий к описанию проблемы пользователя, который позволяет существенно уменьшить время диагностирования и решения проблемы в ядре операционной системы Linux. Прошу отметить, что при всей очевидности некоторых рекомендаций многие участники open-source сообщества по-прежнему пренебрегают ими. Алгоритм представлен подкатом.
Читать дальше →

Семь смертных грехов программных систем, которых в 2011-м году стыдно не замечать

Reading time5 min
Views2.9K
Я сам, как проектировщик интерфейсов и программист, с одной стороны вижу проблемы, а с другой понимаю, что одним мановением руки они не решаются, и во многих случаях у компромисса есть объективные причины. Но предлагаю не жевать сопли, а собрать волю в кулак и дружно шагать в светлое будущее. В конце концов, кто, если не мы?

Итак, грехи:
  1. Медлительность
  2. Блокирующее взаимодействие
  3. Неуместные ограничения
  4. Ненастроенность
  5. Несамостоятельность
  6. Забывчивость
  7. Гордыня

Проблем, конечно, намного больше, но эти выбраны с учетом веяний моды и того, что постепенно уже осознает мейнстрим. Под катом подробнее:
Читать дальше →

Обработка 2D столкновений с использованием LibCanvas

Reading time7 min
Views15K

В большинстве современных игр невозможно обойтись без обнаружения и дальнейшей обработки столкновений (выстрел, прыжок, банальный отскок от препятствия). На первый взгляд их реализация представляется довольно просто, но так ли это на самом деле? Попробую вкратце объяснить суть проблем, с которыми я столкнулся.
По традиции, после прочтения нескольких статей начинаешь чувствовать себя богом, способным сделать все что угодно. Думаю, многие сталкивались с подобной проблемой и могут представить, что последует за ней… правильно, череда больших проблем. Но обо всем по порядку.
Читать дальше →

Qt Creator 2.3 и Remote Linux Deploy

Reading time7 min
Views15K
В очередной раз на хабре осталась незамеченной новость, которая пробежала в блоге Qt Labs и известила о выходе Qt Creator 2.3. Если вскользь просмотреть список изменений, то как обычно можно увидеть кучу прикольных плюшек, одна из которых заинтересовала меня неимоверно. А именно — развёртывание и отладка приложения на удалённой Linux-машине, при помощи ssh, прямиком из среды разработки.
Читать дальше →

Поиск по торрентам в DHT-сети

Reading time4 min
Views158K
Мало найдётся людей среди пользователей и читателей Хабра, которым не доводилось бы пользоваться торрентами. И наверняка многие понимают уязвимость центральных звеньев этой системы — торрент-трекеров (истории с Пиратской бухтой и бывшим torrents.ru, ныне рутрекером, — тому подтверждение).

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

Сервис с весьма лаконичным дизайном заточен под одну функцию — поиск:


Поисковик по хэшам торрентов


Чтобы снизить зависимость от трекеров, в 2007 году разработчиками протокола bittorrent была принята его модификация на основе DHT-структуры, которая позволяла делать раздачи без трекера.

Что такое DHT-сеть? Фактически, это распределённая сеть торрент-клиентов, которая хранит идентификаторы (хеши) всех публичных раздач — т.н. magnet-link, которые представляют собой 160-битное случайное число. DHT-узлы клиентов отвечают за анонсирование своих торрентов и за поиск запрашиваемых. Благодаря тому, что все современные клиенты поддерживают DHT, можно сказать, что в этой сети есть практические все публичные торренты (приватные торренты сеть «не видит» и не позволяет скачивать). Практически — потому что DHT в клиенте может быть отключен. Поиск идёт по мета-информации, которую содержит в себе торрент-файл — то есть, проще говоря, он ищет по названию торрента и по названиям файлов входящих в него. Пользователь открывает magnet-линк в своём торрент-клиенте, тот находит всех раздающих файл и дальше качает как обычно — участия трекера в этой цепочке нет.

Читать дальше →

О том, как я заставлял Ubuntu работать 10 часов от батареи

Reading time11 min
Views195K
imageЯ являюсь рядовым линукс-пользователем и поэтому не стоит от этой статьи ожидать очень умных ходов или нестандартных программистских решений. Все по мануалам. Но раз результат достигнут, значит кому-то кроме меня это может оказаться полезным.

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

Устанавливал я Ubuntu 10.10 на ноутбук Acer Aspire Timeline 5810TG. Эта машина обладает экраном в почти 16 дюймов и относительно производительным железом, зато батарея достаточно емкая, чтобы ставить с ней личные рекорды.
Читать дальше →

Один ботнет чтоб править всеми — Alureon (TDL-4)

Reading time4 min
Views5.5K
image

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

Kaspersky Lab проанализировала деятельность одного из самых интересных ботнетов, активно функционирующих в настоящее время — т.н. Alureon, построенного на базе руткита TDL-4 (о котором на Хабре недавно писала в своем блоге компания Eset). А посмотреть здесь, действительно, есть на что — ведь архитектура ботнета и лежащей в его основе технологии была моментально охарактеризована различными Интернет-изданиями, как «неразрушимая». 4,5 миллиона зараженных машин тоже дают намек на силу используемой архитектуры.

Собственно, TDL-4 был изначально спроектирован с целью избежать уничтожения или удаления — силами закона, антивирусной программы или конкурирующими ботнетами. При установке, TDL-4 удалит с компьютера-носителя все остальное зловредное ПО, для того чтобы пользователь машины не заметил странного поведения машины и не попытался восстановить ее нормальную работу. Цель ясна как белый день — руткит старается оставаться незаметным, ведь в большинстве ситуаций именно пользователь, а не программа, замечает изменения в работе компьютера (резкие «выбросы» пакетов с данными, снижение производительности и т.д.).

Для того, чтобы мимикрия была максимально эффективной, руткит (а точнее — буткит) инфицирует раздел главной загрузочной записи жесткого диска (MBR), ответственной за загрузку операционной системы. Это значит, что код руткита загружается еще до ОС, не говоря об анти-вирусе, что делает его нахождение и удаление еще более нетривиальной задачей. TDL-4 так же шифрует сетевой траффик с помощью SSL для того чтобы избежать обнаружения другими программами, как полезными, так и вредоносными.
Читать дальше →

История противостояния OpenGL и Direct3D

Reading time11 min
Views26K
Перед тем как мы начнём, скажу: я знаю об OpenGL гораздо больше чем о Direct3D. Я в жизни не написал ни одной строки кода для D3D, и я писал руководства по OpenGL. Так что то что я тут расскажу, не вопрос предвзятости. Теперь это просто история.

Зарождение конфликта

Обращение зависимостей и порождающие шаблоны проектирования

Reading time18 min
Views13K

Аннотация


Это третья статья, просвещенная порождающим шаблонам проектирования и связанным с ними вопросами. Здесь мы рассмотрим излюбленные приемы при создании объектов: фабрики, заводы, абстрактные фабрики, строители, прототипы, мультитоны, отложенные инициализации, а также немного коснемся pimpl идиомы или шаблона “мост”. Использование синглтонов было подробно рассмотрено в первой [1] и второй [2] статьях, однако, как вы увидите в дальнейшем, синглтоны часто используются совместно с другими шаблонами проектирования.
Читать дальше →

Объединение двух локальных сетей с одинаковым номерами сетей на Linux-шлюзе

Reading time5 min
Views45K
При создании локальной сети не каждый администратор подходит с ответственностью к выбору диапазона адресов. А может и не каждый догадывается о наличии частных диапазонов кроме 192.168.0.0/24. И со временем такая бомба замедленного действия может дать о себе знать. Локальные сети объединяются, возникает потребность в коммуникации между хостами разных сетей. И тут выясняется, что номера сетей совпадают. И менять их по каким либо причинам проблематично или невозможно.
Читать дальше →

Оптимизируем процесс работы в консоли

Reading time4 min
Views16K
Все привыкли редактировать текст в текстовых редакторах, блокнотах, веб-формах и т.д. В процессе набора текста мы пользуемся привычными стрелками, кнопками «End» и «Home», более опытные зажимают «Ctrl» и стрелками шагают по словам (что, кстати, не всегда работает). И при переходе на консоль мы ориентируемся на те же самые правила, даже не зная, что bash предлагает очень удобные средства и комбинации клавиш, которые очень упрощают работу и минимизируют количество операций для выполнения задачи. К тому же, в bash есть удобные средства работы с историей, масса различных подстановок и других интересных функций. Самые часто используемые мной и любым опытным администратором я и опишу в этой статье.
Читать дальше →

Визуализация графов. Метод связывания ребер

Reading time7 min
Views58K
Иногда полезно представить граф в графической форме, так чтобы была видна структура. Можно привести десятки примеров, где это может пригодиться: визуализация иерархии классов и пакетов исходного кода какой-нибудь программы, визуализация социального графа (тот же Twitter или Facebook) или графа цитирования (какие публикации на кого ссылаются) и т.д. Но вот незадача: количество ребер в графе зачастую настолько велико, что нарисованный граф просто невозможно разобрать. Взгляните на эту картинку:



Это граф зависимостей некой программной системы. Он представляет собой дерево разбиения на пакеты (серые шарики — пакеты, белые — классы), на которое поверх наложены ребра зависимости одних классов от других. Чтобы не рисовать стрелки направления, ребра нарисованы в виде градиентных линий, где зеленый — это начало, а красный — конец ребра. Как видите, граф настолько визуально перегружен, что архитектуру программы невозможно проследить.
Под катом описание метода, решающего эту проблему.
Читать дальше →

ФБР просит помощи в расшифровке сообщения 1999 года

Reading time1 min
Views14K
ФБР обратилось за помощью к сообществу гражданских криптоаналитиков за помощью в расшифровке предсмертного послания, которое было найдено 30 июня 1999 года в карманах жертвы преступления Рикки Маккормика (Ricky McCormick) из Сент-Луиса.

Скан записок на сайте ФБР

ФБР сообщает, что «несмотря на тщательную работу отдела криптоанализа (CRRU) и Американской ассоциации криптограмм, значение этих двух зашифрованных записок остаётся загадкой».
Читать дальше →

Умножение длинных чисел методом Карацубы

Reading time7 min
Views99K
На днях нужно было разобраться с этим алгоритмом, но беглый поиск в google ничего путнего не дал. На Хабре тоже нашлась только одна статья, которая мне не особо помогла. Разобравшись, попробую поделиться с общественностью в доступной форме:
Читать дальше →

Information

Rating
Does not participate
Location
Макеевка, Донецкая обл., Украина
Date of birth
Registered
Activity