Задать вопрос
  • Почему у некоторых устройств нет выхода в интернет у mikrotik и почему mikrotik не обновляется?

    @rPman
    после получения железки вы ее настройки сбрасывали? попробуйте и настройте заново
    Ответ написан
    Комментировать
  • Как оптимизировать рисование линий в WPF?

    @rPman
    Тормозит наверное потому что на on paint перерисовываете все объекты (как минимум при добавлении новой?) Рисуйте линии в битмап однократно и уже его на on paint отрисовывайте.
    Ответ написан
  • Можно ли скачать видео из ВК себе на сервер?

    @rPman
    хотя бы погуглить попробовали? youtube-dl умеет
    тут пример команды
    Ответ написан
    Комментировать
  • Какой выбрать квадракоптер для инвентаризации? и как проводить инвентаризацию?

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

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

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

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

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

    p.p.s. сканер помещения на основе интелевской камеры была статья на хабре, даже кажется софт в комплекте с sdk как пример идет, но скан нужно будет править по ключевым точкам, так как ошибка накапливается по мере сканирования, в общем много ручной работы.

    Сканировать помещение придется не однократно! даже лишний ящик может создать проблемы, поэтому в идеале нужно создать софт, чтобы специальный человек вечером после закрытия склада проходил по нему с камерой и ноутбуком, отмечая ключевые точки, затем загружал собранный скан в редактор, правил его и на его основе правил полетный план. Чем это все делать, без понятия, но как минимум можно найти/написать плагин к 3D редактору, тому же sketchup.

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

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

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

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

    @rPman
    Либо покупайте короткий номер (дорого) либо воспользуйтесь услугами контент провайдера, коих очень много и api у каждого свое.

    Схема платежа обычно выглядит для клиента так - он вводит номер телефона, ему приходит код в смс, он вводит этот код на форме на сайте, все платеж снят/подписка подключена. Реже, сами ОпСоСы мутят автоматические подключения подписок (юридически так же через партнеров но я не представляю сколько это стоит, кажется ДОРОГО) просто за клик или просмотр картинки в мобильном браузере.

    Рынок контент провайдеров - это серый рынок, дикие комиссии (30% - легко), очень много мошенников, с поддержкой операторов сотовой связи (скорее всего это одни и те же лица), подпортили репутацию вполне себе неплохой системы приема платежей. Соответственно клиенты - обычно недалекие люди, либо по ошибке либо просто не думают/не читают условия/покупают услугу которая этого не стоит
    (как можно покупать услугу чтения анекдотов в 2019 году? за 10 рублей в сутки!).

    Пользуйтесь обычными платежными операторами, кторые в качестве одной из опций сами предлагают мобильный платеж, т.е. клиент видит на сайте какой платеж сколько ему стоит и выбирает удобный ему.
    Ответ написан
  • Не удается отправить файл на ftp сервер, в чем может быть причина?

    @rPman
    возможно вам нужно включить passive mode если между вами и сервером фаервол (например за NAT)
    ftp.set_pasv(true)
    Ответ написан
    2 комментария
  • Можно ли использовать Google Drive, как облачную базу данных для Android-приложения?

    @rPman
    Почему народ с самого начала разработки приложения так стремится привязать себя к дорогому сервису. Т.е. вы уже с самого начала разработки готовы платить на порядок больше чем могли бы.

    Неужели вам сложно поднять key-value базу данных и написать (читай скопировать и туториала) простейшую прослойку с авторизацией по токенам? Слабая VPS-ка, способная потянуть нехилый проект, обойдется вам примерно в $1 в месяц, без гарантий, и от $15 с гарантиями (а за 40 можете получить уже не виртуальное железо).

    Организуйте сервис изначально так, чтобы использовать свой собственный сервер (или несколько), а в случае его недоступности (или недостатка ресурсов), автоматически переключайтесь на облачные технологии, а точнее автоматическое развертывание новых мощностей на базе того же google/amazon/azure (только у них можно оплата по часам и поднять новую vps за секунды).
    Ответ написан
    Комментировать
  • Переименование файлов по таблице соответствий?

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

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

    Должно получиться что то типа:
    rename old.txt new.txt
    rename old2.txt new.txt
    Затем сохраняете этот файл под каким-нибудь именем с расширением .bat (например go.bat) или .cmd в каталог, где лежат файлы.

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

    Все, ваша программа по переименовыванию файлов готова, достаточно ее запустить и ваши файлы будут переименованы.

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

    Если файлы лежат в разных каталогах, то можно для каждого указывать либо полный путь типа c:\temp\zzz.txt либо относительный temp\aaa.zzz в этом случае go.bat должен быть размещен в этом начальном каталоге, где размещены все остальные.

    Если первое слово в строке будет move вместо rename, то эта программа переместит файл со старого места на новое, а copy - скопирует, причем в обоих случаях можно вместо нового имени файла указать только целевой каталог.
    Ответ написан
    1 комментарий
  • Какие статистические методы применимы к неслучайным величинам?

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

    Попробуйте с чего то по проще, например криптовалюты.

    p.s. из готовых инструментов, есть неплохой пакет weka, не только интерфейс но и библиотека java.

    99% работы - это подготовка данных, подходящих для анализа выбранным алгоритмом. Т.е. не пытайтесь бездумно скармливать алгоритмы просто потоком котировок.
    Ответ написан
    2 комментария
  • Как в js отловить такой перенос текста?

    @rPman
    Ответ написан
    Комментировать
  • Как сделать собственную сборку Linux дистрибутива для ARM процессора (Rockchip 3399)?

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

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

    Я не знаю никакой другой системы пакетов (т.е. инструмент, позволяющий обслуживать программные пакеты и их зависимости), которая позволила бы создать сборку на столько эффективной и компактной по использованию ресурсов. Я собирал инсталляцию для eeepc с xserver и awesome de, с затратами оперативной памяти в 50мб (после запуска сразу доступен запуск браузера или просмотр видео mvp), когда как минимальная сборка на базе ubuntu занимала 200 или 300мб (и оставшихся не хватало для комфортной работы браузера).
    Ответ написан
    8 комментариев
  • Какой нужно контейнер виртуализации?

    @rPman
    Для windows платформы не так много вариантов, если нет поддержки виртуализации.

    Самый универсальный но дико не эффективный вариант - программная виртуализация, есть у qemu и того же virtualbox. Использовать только если совсем плохо, так как падение производительности до 6-10 крат (напоминаю, что с поддержкой аппаратной виртуализации потери могут быть не больше 10%-30%), зато поддержка любой операционной системы на любом железе и OS.

    Существуют программы песочницы типа sandboxie, но с вероятностью 99% они потребуют поддержку виртуализации либо будут являться очень ненадежной песочницей (не полностью изолированное окружение).

    Только так вы сможете запускать windoows приложения, все остальные варианты - про linux.

    Если у вас 32-битная ревизия windows (даже если winxp) и нужно виртуализовать linux, то воспользуйтесь colinux, этот проект к сожалению больше не поддерживается и не развивается (а жаль, x64 поддержка была бы кстати) но позволяет запускать приложения вообще без потери производительности, это аналог user mode linux, подменяет вызовы ядра и работает как обычное приложение, даже сеть. Фактически это почти полноценная headless (без монитора) виртуальная машина.

    Есть у вас последние версии windows 10 (pro или ultimate ревизии) то вы можете воспользоваться штатной подсистемой linux for windows (добавляется компонента и устанавливается redhat/ubuntu из штатного магазина), это полная аналогия wine наоборот, позволяет запускать бинарники linux без виртуализации, максимальная производительность и поддержка x86/x64 архитектуры.

    p.s. оба этих варианта не умеют графический режим, но можно поставить сторонний xserver (например из пакета cygwin или даже нативный linux xorg на соседней машине/виртуалке) и настроить подключение.

    И конечно же вместо запуска бинарников linux можно установить полностью windows приложения, собранные из исходников linux и запускать свои приложения в нем (собирать, если нужны бинарники). Есть две независимых проекта - mingw (окружение msys) и cygwin. С точки зрения компиляции, это отдельные архитектуры, как linux-x86_64 или cygwin-x86_64 и даже mingw-x86_x64, взаимно не совместимы (нельзя подключать dll).

    Mingw используется, когда нужно собрать приложение, использующее библиотеки из мира linux, но при этом нотация файловых путей должна быть как в windows, и не только, например проще добиться поддержки opengl/opencl или работать с чисто windows directx...

    Cygwin используется, когда приложение почти не имеет поддержки для сборки под windows, в нем симулируется почти полностью linux окружение, даже пути файлов с обратными слешами и нет букв дисков - используется /cygdrive/c. Симуляция cygwin на порядок качественнее чем у mingw, т.е. можно вообще не тратить никаких усилий для портирования приложения, но скорость работы при использовании mingw выше, так как нет лишней прослойки системных вызовов.

    Оба этих окружения позволят запускать приложения php/perl/python/nodejs и они почти наверняка будут работать как ожидается. У обоих есть пакетный менеджер с готовыми бинарниками (у cygwin полнее база) и вы можете установить (и поддерживать обновления) окружение в пару кликов мыши.
    Ответ написан
    Комментировать
  • Где и как безопаснее хранить свои личные, конфедициальные файлы, пикантные фото, секретные материалы?

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

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

    Если ваши объемы порядка сотен гигабайт или несколько терабайт, лучше своей системы ничего нет. Не обязательно поднимать целый файловый сервер, можно обойтись простыми подключаемыми дисками (пофиг флешки это или жесткие диски), но настоятельно рекомендую использовать не одно устройства а несколько (RAID 1,5,6,...). Поддержка RAID и шифрования есть во всех современных популярных операционных системах, так что в несколько шевелений мышки вы можете настроить то же зеркалирование и поднять шифрование, чтобы для доступа к файлам требовалось ввести пароль.
    Ответ написан
    Комментировать
  • После ввода ПК в домен торомозит Excel 2016?

    @rPman
    Загляните в макросы, в шаблонах например, мало ли что там происходит.

    Тормозит на всех машинах или только на одной конкретной, провести эксперимент с чистой установкой win + офис + подключить в домен? Если глюк тиражируется, то 100% что то в политиках домена напортачили
    Ответ написан
    Комментировать
  • Unity. Тормозит игра при соприкосновении двух коллайдеров?

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

    Универсальное решение - после того как фрукт упал в корзину, дорисовывайте его в общую текстуру всех упавших в нее фруктов, а сам объект удаляйте. Таким образом у вас в корзине может лежать любое их количество. Точно так же можете считать область коллизий для оценки, куда падать новому фрукту, просто меняя конфигурацию одного объекта, вместо того чтобы заставлять машину каждый раз обсчитатывать кучу объектов.
    Ответ написан
    Комментировать
  • Как отследить закрытие PWA?

    @rPman
    Отследить прибитие приложения можно отдельным сервисом, работающим в фоне (внимание - батарейка), оно же может сообщить отдельным подключением об этом факте (простым http get запросом).
    Ответ написан
    Комментировать
  • Как создать веб-сервис, который будет извлекать аудио из видео?

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

    И уже потом по полученному видео вы можете извлекать с помощью ffmpeg звуковую дорожку.

    p.s. на youtube можно вытаскивать звуковую дорожку отдельным потоком, посмотрите приложение youtube-dl, они очень хорошо отслеживают изменения, кстати умеют работать не только с ними.
    Ответ написан
    3 комментария
  • Отслеживание дыхания с помощью смартфона - почему нет приложений?

    @rPman
    Потому что между исследованиями и выходом на рынок огромная пропасть.

    Отличный пример, года 4 назад был предложен алгоритм, позволяющий на простом и дешевом железе получить 3D-скан на пару порядков точнее, чем это в принципе возможно на сканерах, на основе вебкамер и структурированного света.... необходимость есть, огромная, и где готовые железки?
    https://habr.com/ru/company/ua-hosting/blog/388299/
    web.media.mit.edu/~achoo/polar3D

    А у вас очень узкая область, спроса нет никакого.

    p.s. но вы можете профинансировать разработку приложения, так как исследование уже проведено, это может быть даже подъемно.
    Ответ написан
  • Самый быстрый скриптовой язык?

    @rPman
    Самые быстрые виртуальные машины у javascript (nodejs) и как ни странно у php, если речь идет о самом языке программирования а не о подключаемых библиотеках, которые могут быть реализованы нативно а значит так быстро как это в принципе возможно.

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

    Кто то вспомнит java и его байткод, тоже вариант, тогда сюда для кучи .net виртуальную машину, только они не такие производительные как выше указал.

    python - самая медленная виртуальная машина (правда есть решения по ее ускорению) зато самая крутая поддержка сообществом и библиотеками. Но использовать ее как встраиваемую - сложно, особенно если важна защита от выхода из песочницы.
    Ответ написан
    Комментировать
  • Можно ли выбрасывать исключение в предикатах?

    @rPman
    Проблема больше не когда исключение бросать, а когда ловить! В конкретно вашем примере вы должны будете поймать исключение, завершить операцию работы с файлами и продолжить выполнение.

    Неужели вы хотите ронять приложение, если пользователь выбрал в настройках не ту директорию? Например была выбрана флешка а потом ее извлекли, ваша программа попытается открыть катало и упадет.
    Ответ написан
    Комментировать