Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (34)

Наибольший вклад в теги

Все теги (340)

Лучшие ответы пользователя

Все ответы (763)
  • Чем отличается XEN от OpenVZ?

    @rPman
    Вот популярные системы в порядке понижения функционала:
    Xen — на порядок сложнее и функциональнее, имеет помимо режима паравиртуализации (как openvz) режим полной виртуализации (в т.ч. поддержка соответствующих фич процессоров), есть механизмы переброса железа внутрь виртуалки (например, поддержка не самых слабых intel видеокарт), снапшоты, миграция,… много много вкусных фич.

    VMWare — как и xen, сложен, наворочен, приправлен соответствующей инфраструктурой и хорошими забористыми ценами :) режима полноценной паравиртуализации не имеет

    kvm/qemu — полная эмуляция процессора (а так же виртуализация через поддержку процессорами), есть вкусности от 'старших братьев' вида миграция запущенной виртуалки по сети, переброса железа (сильно хуже поддержка чем xen/vmware) и т.п. можно считать бакэндом, так как GUI в идеалогии не имеет, оно пилится желающим

    VirtualBox — эмуляция процессора, в т.ч. использование поддержки виртуализации процессоров, идеален как отдельное десктопное приложение, миграции по сети нет, есть снапшоты, некоторые вкусности скрыты от GUI в коммандной строке

    OpenVZ — это работа всех машин на одном ядре (патчи к нему так и зовутся openvz), нет виртуализации, максимальная скорость (так как фактически это расширенный chroot с изоляцией). Для запуска модуля ядра на поклон нужно идти к хост системе и ее администратору (например tun/tap адаптер у firstvds дают по запросу)
    Снапшотов нет (но их реализуют через lvm), миграция есть, есть сброс состояния контейнера на диск и возобновление работы…

    Lxc — еще проще чем openVZ, нет даже грамотной изоляции (если подсуетиться, можно, имея рут в контейнере, выйти в хост систему с рутовым доступом), прямой аналог jail во freebsd, имеет смысл для хитрых сетевых конфигураций, тестов и т.п.

    Chroot — это даже не виртуалка, это просто простейшая изоляция в пределах файловой системы, подмена путей в вызовах функций работы с файлами.
    p.s. lxc называют еще 'chroot на стероидах'

    OpenVZ/lxc/chroot поддерживают почти полноценное каскадирование виртуалок (т.е. к примеру можно внутри контейнера openvz запустить kvm/virtualbox при наличии модулей, даже с поддержкой аппаратного ускорения)
    Ответ написан
  • Связь с Android приложением

    @rPman
    Штатные утилиты android sdk содержат утилиту adb, одна из возможностей — редирект подключений в устройство, в т.ч. в character device:
      adb forward <local> <remote> - forward socket connections
                                     forward specs are one of: 
                                       tcp:<port>
                                       localabstract:<unix domain socket name>
                                       localreserved:<unix domain socket name>
                                       localfilesystem:<unix domain socket name>
                                       dev:<character device name>
                                       jdwp:<process pid> (remote only)
    
    
    Ответ написан
  • Параметры видеокамеры, чтобы распознать текст на видео

    @rPman
    Простой случай, если рассматривать скриншот (фото):

    Высота символов 12-го размера — 4.2мм, чтобы хотя бы вручную можно было распознать символы, на каждый необходимо (по высоте) отвести по 5-8 пикселов (смело умножайте на 2 — шумы, искажения), т.е. 0.42мм на пиксел

    Дальше, либо необходимо выбирать камеру с необходимым фокусным расстоянием (чтобы при расстоянии в 3 метра весь объект попал в кадр — что почти наверняка для вас нереально, хотя это всего лишь вопрос оптики), либо посчитать, какой размер символа будет для каждой камеры (обычно они не сильно отличаются), первую попавшуюся HD камеру в гугле на запрос 'углы обзора видеокамеры HD' — получил Microsoft LifeCam HD-5000 — угол обзора 66° (для простоты не пишут угл обзора по высоте, так как стандарт HD определяет его как ширина/1.33)

    Значит на 3-х метрах кадр будет вмещать объект шириной 4.4м, по высоте — 3.3м, итак нам надо чтобы пиксел вмещал не больше 3.3*1000/0.42 = 7857 пикселов по вертикали и соответственно (если использовать аналогию со стандартами HD *1.77777..) — 13967 пикселов по горизонтали
    Если создадите гениальный алгоритм, определяющий символ по матрице точек высотой в 3-4 пиксела (теоретически возможно, используя информацию еще и о яркости), то требования уменьшаются в 2-3 раза, т.е. 4655x2619 — все равно это не обычная камера

    Итог ищите камеру с очень маленьким углом обзора (для FullHD это примерно 10") либо уменьшайте расстояние либо…
    p.s. как я знаю фотоаппараты делают интерполяцию, в т.ч. на основе принципов, описанных ниже, так что требования могут быть и не такими страшными, но лучше поэкспериментировать.


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

    Можно при обработке использовать несколько соседних кадров, определив смещения (объект можно сделать движущимся либо камеру принудительно двигать — например раскачивать её или зеркало/призму на маятнике) любым алгоритмом, используемым при компенсации тряски в соответствующих обработчиках видео или продвинутых видеокамерах (они не такие уж и сложные, на хабре кажется были обзоры).

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

    p.s. никак руки не дойдут заняться этой задачей, так как готовых примеров реализации не могу найти.
    Ответ написан
  • Aналог скайпа, какой?

    @rPman
    jabber (клиенты с поддержкой audio), например psi, шифрование gpg почти из коробки
    Ответ написан
  • Как оптимизировать скорость записи множества больших файлов в linux?

    @rPman
    Используя fallocate создать файл нужного размера, если файловая система не поддерживает sparse files (дырявые файлы, не занимающие место на диске) то эта операция мгновенна а файл будет заполнен мусором (данными, которые лежали в секторах).

    К сожалению (а точнее к счастью, ибо безопасность важнее) все современные файловые системы поддерживают дыры (они будут возвращать нули), т.е. физически файл не будет занимать место, и вам нужно будет либо самим заполнить файл нулями либо использовать опцию fallocate - FALLOC_FL_ZERO_RANGE, это физически записывает данные на диск, так что операция тратит время.

    p.s. файловые системы со сжатием или online deduplication (типа zfs) тем более не позволят вам управлять процессом создания, точнее это нужно будет делать утилитами файловой системы.

    upd. забыл еще напомнить, на файловых системах Copy On Write (типа zfs/btrfs/...) предварительное размещение файла бессмысленно, даже вредно, так как любая запись будет проходить в новое место на диске.
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (42)