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

    Неужели вы хотите ронять приложение, если пользователь выбрал в настройках не ту директорию? Например была выбрана флешка а потом ее извлекли, ваша программа попытается открыть катало и упадет.
    Ответ написан
    Комментировать
  • Можно ли удаленно ребутнуть виндоус сервер без захода по 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 ищите их (т.е. векторизуйте изображение) затем выбирайте только те отрезки, которые похожи на часы (окружность риски часов, часовая и минутные стрелки, опционально цифры), таким образом вы поймете какие из линий - стрелки, а дальше либо через цифры, либо через ориентацию телефона (если цифр нет) определяйте где верх а где низ.
    Ответ написан
    Комментировать