Задать вопрос
  • Какой нужно контейнер виртуализации?

    @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
    Проблема больше не когда исключение бросать, а когда ловить! В конкретно вашем примере вы должны будете поймать исключение, завершить операцию работы с файлами и продолжить выполнение.

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

    @rPman
    В сети windows (локальная сеть и когда ваша и удаленная машины авторизованы в домене либо в рабочей группе пользователи с одинаковыми именами и паролями) можно воспользоваться штатной командой:
    Использование: C:\WINDOWS\system32\shutdown.exe [/i | /l | /s | /sg | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/soft] [/fw] [/f]
    [/m \\компьютер][/t xxx][/d [p|u]xx:yy [/c "комментарий"]]

    Так же вы можете удаленно управлять шедулером с помощью утилиты schtasks или at, или редактировать реестр штатной утилитой regedt32 и т.п.

    В windows вообще много что можно делать по сети, если предварительно настроить права и политики.
    Ответ написан
    Комментировать
  • Есть ли способ подружить win/linux smb ссылки?

    @rPman
    Майкрософт потратили столько усилий чтобы сделать смешанные сети неудобными, поэтому скорее всего универсального решения нет.

    Опишите подробнее, где именно у вас и какие ссылки не работают? Точнее не так, в каких приложениях у вас ссылки везде РАБОТАЮТ?

    Мне известно только одно место, где все универсально - http и браузеры. Заведите ваши файловые сервера через http прослойку, и она будет работать везде. Например webdav можно как монтировать в наутилусе/эксплорере, так и открывать через http
    Ответ написан
  • Как скомпилировать код C# без доступа к сторонней используемой библиотеки?

    @rPman
    Именно так и делать - необходим эмулятор с пустыми классами и да, это вам поможет только с компиляцией, иначе вам так или иначе придется реализовывать интерфейсы и конструкторы... т.е. фактически писать эту библиотеку с нуля.
    Ответ написан
    2 комментария
  • Как можно выполнить отладку большого js скрипта без точек останова (PHPStorm)?

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

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

    На самом деле не обязательно покрывать отладочной информацией ВЕСЬ проект, это слишком раздувает файл логов, затрудняя его анализ и замедляя работу приложения. Обычно вы знаете, в каком месте кода у вас проблема, и именно эту часть покрываете отладочной информацией.

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

    p.s. свой колбек на вызов функции в javascript можно зарегистрировать так:
    (function() {
        var call = Function.prototype.call;
        Function.prototype.call = function() {
            console.log(this, arguments);
            return call.apply(this, arguments);
        };
    }());
    Ответ написан
  • Распознование текста в pdf с внедрением его в тот же pdf, возможно ли бесплатно, т.е. даром?

    @rPman
    Почему текст нужно править и распознавать именно в pdf а не ранее, в jpeg?

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

    p.s. 'не прилагая особых усилий' - не получится
    Ответ написан
    1 комментарий
  • А есть ли у сотового интернета (всякие там 3g\4g) защита от потери пакетов на канальном уровне?

    @rPman
    в России в последние годы провайдеры активно вмешиваются в трафик пользователя, т.е. не только кривой самодельный DPI но и спам через подмену html (вставка javascript), так что не удивлюсь что все крутые технологии на канальном уровне и выше будут сломаны на самом последнем шаге.
    Ответ написан
    Комментировать
  • Можно ли реализовать анимацию всасывания контента в некую дыру (точку)?

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

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

    @rPman
    google forms? с интерфейсом, который вы зададите, данные будут только добавляться но не могут быть изменены пользователями
    Ответ написан
  • Как определить время на аналоговых часах с помощью машинного зрения?

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

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

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

    Т.е. user_1 авторизуется, в шедулере стоит скрипт отключения user_2 при логине, и включении при выходе, после входа сразу открывается сессия к пользователю Администратор (или консоли, которой только один пользователь в момент времени может пользоваться), если настроите права, переключение консоли возможно прямо в таскменеджере (закладка - пользователи, правая кнопка - развернуть).
    Ответ написан
  • Возможно ли реализовать запуск bash по факту инсерта в БД?

    @rPman
    не надо ничего вызывать , и по крону не надо сканировать базу, достаточно на таблицу вызывать sql LISTEN и pg_get_notify из бакэнда.

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