Задать вопрос
  • Где находятся драйверы тачскрина в прошивках Android ???

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

    В подавляющем большинстве случаев драйвера в Linux сильно привязаны к версии ядра (а значит к конкретной прошивке), они либо вкомпилированы в ядро, либо собраны в виде модуля и лежат в initrd образе рядом либо в файловой системе прошивки.

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

    вот пример калибровки x86 android его универсального драйвера blog.inelsis.ru/?p=318 но само собой инструкция тут не поможет просто сама идея в этом

    p.s. если найдете, поделитесь пожалуйста с миром
    Ответ написан
    Комментировать
  • Manjaro Linux, как передать изображение экрана на Smart TV?

    @rPman
    попробуйте https://github.com/albfan/miraclecast
    дикая альфа а еще нужна поддержка wifi адаптером p2p - https://github.com/albfan/miraclecast/wiki/Known-w...
    Ответ написан
    Комментировать
  • Как реализовать платный функционал в софте не зашивая его в код?

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

    В самом простом случае, можете реализовать ВЕСЬ платный функционал на сервере, а на клиенте только интерфейс (вернуться во времена http rest архиетктуры, ну с оглядкой на эффективность и отзывчивость).
    Ответ написан
    2 комментария
  • Сколько по времени занимает сделать нормальный браузер с нуля?

    @rPman
    Минимальный браузер, адресная строка, кнопки go/stop и собственно область веб-сайта (не будет работать загрузка файлов, но там больше интерфейс пилить а не внутренности) - 15 минут с использованием готовых браузерных компонентов, которые есть в штатной поставке практически ВСЕХ языков программирования/платформ:
    * .net - WebBrowser использует internet explorer (если запустить mono - то будет firefox)
    * java - WebEngine, использует WebKit
    ...

    Работают абсолютно все сайты, быстро (правда по умолчанию без аппаратного ускорения, правда заметно это только на youtube и то если fullscreen fullhd включать) на основе webkit был проект headless браузера (универсально, вебсайт анализируется, и формируется текстовое представление для людей с ограниченными возможностями).

    Кстати Webkit используется практически во всех популярных компонентах браузерных движков, включая chromium (основан на нем) на основе которого и пилится google chrome.

    p.d. не советую тратить время на свой браузерный движок
    требования типа 'просто открывался youtube' одно из самых сложных для реализации, потому что то что у вас работало вчера, через неделю работать не будет потому что там опять что то поломали, посмотрите как с этим борются загрузчики видео тот же youtube-dl.
    Ответ написан
  • Где можно найти реализацию биометрической системы для биометрии 3d лица (верификация + идентификация) с открытым исходным кодом?

    @rPman
    Ну и задачка у вас, 3D сканеры относительно доступными стали буквально недавно, откуда должны появиться готовые алгоритмы? да еще и в открытом доступе?

    Чем вы делаете эти 3D сканы? на сколько я знаю в потребительском секторе этим занимается наверное только apple, в своем последнем iphone X

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

    @rPman
    Все зависит не от количества данных на хранение, а на то что с этими данными вы собираетесь делать? нужен ли оперативный доступ к ним? какой сетевой трафик ожидается?

    Затем берете калькуляторы облачных провайдеров и считаете. Почти наверняка amazon из-за сетевого трафика вам будет слабо подходить... с другой стороны, больше 10-20 терабайт и адекватный выбор у вас сразу ограничен парой тройкой вариантов.

    Сочувствую.

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

    Проблемы десктопное железо создаст вам где то далеко за несколько петабайт. но по возможности ищите железо с поддержкой ECC RAM, сейчас это реально и не дорого.

    p.s. настоятельно советую raid1 или минимум raid6 но не больше 6 дисков в одном рейде, само собой только софтварный и в идеале, не размещать один массив на одной машине
    ------------------------------------------------------

    Посмотрите, подойдет ли вам siacoin, одно время там хвастались железками на сотни терабайт, как устройства для майнинга и было выпущено приличное их количество и они тупо простаивают. Цены на это удовольствие могут оказаться очень интересными.
    https://sia.tech
    2.9PB Storage Capacity
    301 Storage Providers
    173TB Used Storage

    $0.11 $/TB/Month median price
    Ответ написан
    7 комментариев
  • Какой OCR можно использовать для обучения распознавания картинок в зависимости от узора(не текста)?

    @rPman
    opencv там очень много всего.

    Если велосипед сделать, то: если нет проблем с эффективностью алгоритма, у вас все просто - найти все белые области (пороговое значение, строим монохромное, ставя цвет там где на изображении белый), вычисляем их размер, и начинаем поворачивать с шагом 1-3 градуса, после каждого поворота масштабируем до размера, в котором у вас хранятся шаблоны (лучше сделать поменьше размеры для ускорения, само собой у шаблонов логичнее выровнять размеры по одной стороне) и считаем количество совпадений (плюс к оценке) и несвопадений (минус к оценке), например делая xor (шаблоны и сравнение делать в монохромных версиях) и минимизируя количество (площадь) темных областей.

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

    Это не очень эффективный алгоритм но зато очень простой.
    Ответ написан
    2 комментария
  • Как сделать так чтобы программа взаимодействовала с поисковиком?

    @rPman
    Запустить браузер на c# дело 3 кликов мышки (контрол WebBrowser), чуть сложнее будет симулировать ввод запроса, точнее найти в какие input необходимо вставить текст и какую нажать.

    Все действия лучше симулировать на javascript внутри этого браузера (хотя есть возможность работать с DOM прямо из c#, на чтение это оправдано но на изменения могут возникать не очивидные глюки в общем случае), запуская через onTimeout с нулевой задержкой.

    будьте готовы что на странице может появиться капча, поисковики не любят халявных автоматизаций в обход их платных API

    p.s. Когда то давно делал приложение, которое делало десятки запросов в минуту, использовались сразу несколько ip адресов гугла по очереди чтобы избежать бана за частоту запросов, симуляция была на основе curl, тот еще квест, а главное поддерживать это было нудно, поисковики меняются постоянно, лучше уж как я выше написал.
    Ответ написан
    Комментировать
  • Wordpress компрессия изображений, можно ли без плагина?

    @rPman
    Возможно не в ту степь, но мое предложение - задумайтесь об обработке изображений на стороне клиента, на javascript, вот тут красиво расписали простой код.

    Просто это логично, зачем нагружать сервер тем что можно оставить на стороне клиента?
    Ответ написан
    Комментировать
  • Как заниматься разработкой на удалённом сервере на DigitalOcean?

    @rPman
    Под php можно разрабатывать и под windows, я долгое время вообще сидел исключительно в far manager без отладчика и т.п. Плюс есть куча IDE которые так же пойдут под windows.

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

    Если вас зачем то интересует linux окружение для работы с машины на windows то начните сygwin.org удобный пакетный менеджер, практически все утилиты из мира linux портированы под windows, режим portable т.е. не требует администраторских прав и т.п.

    Чуть менее качественно linux окружение портировано в mingw (msys), в основном там это сделано для возможности сборки приложений из исходников, заточенных под linux на windows. Но не думаю что вам это актуально при использовании php.

    Если вам все еще будет этого недостаточно, в win10 недавно встроили linux подсистему, что то типа wine наоборот, где бинарники, собранные под linux той же архитектуры что у вас windows, обычным способом запускаются под windows. GUI нет, возможно придется искать и главное настраивать xserver самому.

    Если и этого не хватает, а virtualbox тормозит (например очень старая машина без поддержки аппаратной виртуализации), и если у вас x86 версия windows (к сожалению x86_64 не поддерживается и не будет, проект считай загнулся, зато работает даже на winxp) то вы можете попробовать colinux.org это считай openvz/lxc/user mode linux из мира linux только под windows но для запуска именно linux. Скорость работы этой виртуалки практически совпадает с нативным запуском приложений (виртуализации не происходит, только подмена вызовов), особенно это заметно там где много вычислений а не системных вызовов. К сожалению там будут работать только старые версии linux, но попытка не пытка.
    Ответ написан
    Комментировать
  • Как ограничить трафик с мобильного интернета в ubuntu?

    @rPman
    Если мобильный интернет у вас на телефоне, который подключен к ноутбуку, то вместо настройки ethernet over usb (или как оно там называется), установите на смартфоне любой socks server (гугл выдает какой то socks server ultimate, попробуйте, либо установите на телефоне ssh server и подключайтесь через перенаправления adb с ключом -D1080) и с помощью adb настройте перенаправление tcp портов.

    Затем полученный порт пропишите в firefox и получите работающий интернет только в нем.

    p.s. точно знаю, некоторые особо умные приложения, когда то давно это делал skype пока его не уничтожила microsoft, так же это умеет делать teamviewer,.. изучают настройки в профилях браузеров в поиске настроек прокси
    Ответ написан
    Комментировать
  • Добавление контакта в телефон из email сообщения?

    @rPman
    попробуйте сформируйте файл vCard с расширением .vcf и передайте его вложением в письме
    https://ru.wikipedia.org/wiki/VCard
    Mime type:
    text/x-vcard , application/vcard (Macintosh only) , text/anytext , text/directory , application/x-versit (Eudora Plug-in) , text/x-versit (Eudora Plug-in) , text/x-vcalendar
    Ответ написан
    Комментировать
  • Как лучше реализовать аутентификацию в микросервисной архитектуре?

    @rPman
    Зачем на каждый запрос спрашивать валидность токена у самого главного?

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

    Аналогично происходит принудительный отзыв токена (разлогиниться).

    Токен - абстрактно это уникальный код плюс параметры авторизации - время действия и права доступа
    Ответ написан
  • Windows 7 x32 после обновления запускается только в безопасном режиме, что делать?

    @rPman
    Если запускаетесь в safe mode уже хорошо, идите в панель управления - программы и компоненты - просмотр установленных обновлений
    и удаляете все, по дате, после которых появились проблемы

    в win10 даже есть для этого специальный мастер, позволяющий отменить обновление, даже если это смена ревизии.

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

    p.s. а журнал что говорит?
    Ответ написан
    3 комментария
  • Как сделать авторизацию без использования сервера?

    @rPman
    Без серверная авторизация возможна, это когда вы генерируете приватный ключ ассиметричного шифрования (когда на клиенте 'создаете аккаунт') а публичный отправляете 'всем кто будет хотеть читать ваши сообщения', т.е. шифруя сообщения и вообще всю коммуникацию своим приватным ключом, прочитать его смогут только те кто будет расшифровывать их вашим публичным ключом (и кстати наоборот, чтобы вам послали сообщение - отправитель шифрует его публичным ключом, а вы расшифровываете его приватным).

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

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

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

    p.p.s. не майтесь дурью, сделайте все правильно на сервере.
    Ответ написан
    Комментировать
  • Где почитать статьи про безопасную работу/передачу/обмен информацией в интернете?

    @rPman
    Первое и самое главное - для начала определите для себя что такое 'безопасность'! Это комплексное понятие включает в себя не только сетевые протоколы и интерфейс пользователя но и набор правил, которым должны следовать пользователи (та же присловутая бумажка с паролем на мониторе).

    Чтобы передать сообщение от одного пользователя другому, необходимо:
    * первоначальная аутентификация
    Вам нужно как то буковки на экране ассоциировать с конкретным человеком, и это мега проблема, потому как универсального решения не существует, точнее существует - это телефонный номер, именно поэтому современные менеджеры привязывают аккаунт пользователя к номеру телефона. Их нельзя генерировать бесконечно для спама (это стоит какие то деньги для пользователя) и при этом он уже есть почти у каждого человека на планете (кроме совсем уж бедные страны но даже там инфраструктура хоть какая то да есть)

    Соответственно вам нужна инфраструктура (договоры с провайдером, софт и физические сервера либо оплаченные облачные услуги) которая будет обеспечивать аутентификацию по тому же sms. При наличии приложения для телефона некоторые этапы можно пустить но это ненадежно, ибо приложение взламывается. Первоначальную sms выслать придется так или иначе.

    Альтернатива - необходимо чтобы был какой то центр регистрации аккаунтов (если у вас организация - это самый логичный вариант) где кто то самый главный сможет сказать - 'вот этот человек и есть вот эти буковки на экране, я гарантирую'.

    Существует gpg стандарт когда пользователи могут обмениваясь gpg ключами (при личной встрече например, через qr-код) подтверждаю что этот пользователе является тем о чем заявляет. Но как вы понимаете личная встреча все равно нужна. Я не видел ни одного менеджера, где бы этот процесс был как то социализирован, грубо гворя вы бы видели все подтверждения от других пользователей (в виде дерева доверия и подтверждения). Но догадываюсь это было бы слишком сложно для классического пользователя, хотя наиболее верно для децентрализованного месседженера.

    Существуют плагины для различных jabber и почтовых клиентов. Вроде бы был плагин для браузера, который не только управлял этими подписями но и позволял налету расшифровывать сообщения на странице.

    * авторизация
    Это проблема напрямую вытекает из способа первоначальной аутентификации и хранения ее результатов
    Самое простое - парольная, сервер хранит все необходимое для работы, по вводу пароля выдается временный токен приложению и все довольны, приложение по какому то условию удаляет токен и требует повторного ввода пароля. Если вы ратуете за безопасность, вы не должны пользоваться какими то третьими лицами в качестве посредника авторизации (googl/facebook/вася пупкин) это должен быть ваш сервис.
    Если вы храните все необходимые данные (ключи gpg например) локально, вы должны всеравно как то защитить и от доступа третьим лицам, пароль, биометрическая аутентификация (отпечатки пальцев) и т.п. но ц каждого решения есть свой уровень защищенности (стоимость взлома)...

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

    НО клиенты не хотят заморачиваться с хранениме ключей, они хотят кнопочку нажать и чтобы было хорошо, а значит сервер занимается хранением этих ключей и все шифрование становится абсолютно бессмысленным (кроме собственно низкого уровня, но там ключи шифрования можно выдавать временно как это происходит с https и совсем незаметно для пользователя)

    * Программное обеспечение должно быть адекватным системе безопасности
    Тут очень много нюансов. От кого вы защищаете информацию. Классическая ошибка например - важную информацию нельзя отправлять в сервисы, которые эту информацию могту подглядеть (помнится мастерключ криптовалютного аккаунта какой то мобильный кошелек по привычке отправлял как и любое текстовое сообщение, на сервер гугла по проверке правописания, со всеми вытекающими от сюда последствиями, кто то потерял порядка 80к денег).
    Ответ написан
    Комментировать
  • Как найти невидимый процесс, потребляющий много памяти?

    @rPman
    Кажется htop не умеет группировать процессы, попробуйте atop
    В консольном интерфейсе нажмите последовательно m а затем p (до или после нажмите a чтобы вкл/выкл отображение всех процессов а не только значимых по потреблению ресурсов)
    Это включит режим сортировки по потреблению памяти а затем сгруппирует записи по одинаковому процессу (слева будет колонка с количеством) так вы найдете процесс, который запущен в нескольких копиях и по одной потребляет мало но суммарно много.

    Что показывает free -g или free -m (g - гигабайты, m - мегабайты)? возможно у вас половина памяти отведена под кеш и буфера операционной системы, это нормально, она будет освобождена автоматически.
    Ответ написан
  • Что нужно для записи с камер на удаленный компьютер?

    @rPman
    Если вы купите ip камеры с поддержкой одновременного подключения то вам повезло (такие точно есть, у них по две ссылки для rtsp, у дешевых тоже может быть но в документации про это будет ни слова, в общем берете камеру из прайса, гуглите rtsp изучаете отзывы и т.п. в некоторых случаях это даже зовут хаком, осторожно, большинство ip камер отдают rtsp без авторизации либо авторизация сложно автоматизируется, без шифрования потока и т.п. в общем очень странно сеть камер делать открытой для мира).

    Берете openrtsp настраиваете его на запись (например по файлам по несколько минут), но будьте осторожны, с десятка камер трафик такой что ваш домашний интернет может не справиться, да и у предприятия сеть может оказаться слабенькой. Лучше разместить сервер хранения в самой организации. Просмотр сохраненных файлов делайте уже обычным способом - файловый сервер, синхронизация или на ваш выбор. Раздельные куски видео можно соединять в плейлист, все плееры это показывают без проблем.

    Для просмотра видео просто подключаетесь с помощью любого плеера (тот же vlc или mplayer или ffplay) по rtsp по второму линку к камере. Настройте себе прямо в проводнике линки либо простейшую html страничку (гуглите проигрывание rtsp в браузере, почти наверняка это будет flash плеер но с управлением по javascript), где ссылка - это будет картинка с тех же камер, обычно камеры отдают текущую картинку в виде jpeg по спец ссылке. В простом виде задача не выглядит сложной (если только смотреть), но если вам нужно еще и управление (повортные камеры, вкл/выкл led освещение, ночное видение, зум и т.п.) то тогда придется заморочиться и изучать api этих камер (отреверсить их html страничку, скорее всего там простые post запросы). Я бы рекомендовал на своей управляющей страничке сделать ссылки на админку каждой камеры, т.е. ничего програмировать не придется, тупо указать список ссылок на html страничке и все.

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

    p.s. у дешевых камер (<=$15) с которыми я игрался дома обычно проблемы с отдачей кодированного потока mpeg, например подвисания камеры. С mjpeg проблем не было но от них идет очень тяжелый по трафику поток (десяток мегабит если HD) и ни один сетевой канал наружу десяток таких камер не протолкнет, поэтому почти наверняка у вас останется только вариант перекодирование видео на вашем сервере. Какое подобрать железо для того чтобы перекодировать поток с десятка камер, отдельный разговор, если найдете свободный софт, способный это делать используя GPU, все вам скажут спасибо.

    В общем не экономьте на камере и не гонитесь за wifi в них, смысла в этом никакого, так как электричество все равно нужно подводить, лучше следите чтобы была возможность питания по POE, т.е. 1 провод на сеть и питание (следите за совпадение стандартов на свитче и камере, бывают у них стоят свои нестандартные сплиттеры).
    Ответ написан
    1 комментарий