Задать вопрос
  • Падает скорость HDD диска ( во время копирования ) как исправить?

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

    p.s. приостановите работу антивируса на время копирования, так как при каждой записи файла оно (и это 2020 год! позор) заново сканирует файл.
    Ответ написан
    1 комментарий
  • Как вдвоём просмотреть одно видео с возможностью поставить на паузу и обсудить?

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

    Сейчас у того же VLC есть http api, есть куча утилит для remote control и прочее, к тому же не думаю что запустить два curl на разные машины в локальной сети или через ssh большая проблема.
    Ответ написан
    Комментировать
  • Какую винду поставить?

    @rPman
    Узкое место - hdd, десятка без ssd тормозит сильно, это не вопрос неумения настраивать, а в том что слишком много она ковыряется с диском да и вообще, слишком много недопрограммистов оставляют свои следы в этом поделии навечно.

    Для особо умных - задачка на засыпку, сделать так чтобы калькулятор (не обязательно штатный) запускался по горячим клавишам или даже по мультимедиа кнопке 'калькулятор' сразу же, а не думал порядка 1-3 секунды.

    В winXP и Win7 эта проблема не всплывала, приложения запускаются по горячим клавишам сразу же, теперь нет.

    p.s. выше предложили ставить linux, поверьте - ЭТО РЕШЕНИЕ!
    Ответ написан
  • Как сделать заставку перед запуском exe?

    @rPman
    Написать приложение выводящее только эту заставку, запускающее ваше приложение и ожидающее сообщение от него что оно запустилось, чтобы закрыть заставку.
    Ответ написан
  • Как парсить shadow dom на python?

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

    Самое простое, создать на любимом языке программирования для которого есть библиотеки вебкит приложение 'веб браузер' (например на .net это добавить контрол WebBrowser на форму и прописать адрес, а там на событие onload или на любой ваш выбор инжектите одной строчкой ваш javascript код, на java я делал такое приложение в строк 20, половина из которых - поддержка изменения размера окна).

    Можно конечно воспользоваться всякими силениум или другими инструментами автоматического тестирования, но это переусложнение, я пробовал и то и другое.
    Ответ написан
    Комментировать
  • Можно ли отправить банк. карту с балансом по почте (Украина)?

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

    Имеет ли это смысл, какие тут риски и прочее уже более правильные вопросы.

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

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

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

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

    @rPman
    Попробуйте https://github.com/LonamiWebs/Telethon и отпишитесь о результате если не сложно.
    С помощью библиотеки можно автоматизировать действия как обычный пользователь, создавать группы и получать инвайт ссылку на нее.
    Ответ написан
    Комментировать
  • Почему CUDA работает на Intel?

    @rPman
    Возможно в режиме эмуляции на CPU?

    p.s. https://developer.nvidia.com/cuda/wsl
    Ответ написан
    Комментировать
  • Как с помощью html страницы открытой в компе отправить запрос на активный порт localhost?

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

    p.s. Таким образом вы можете отсылать GET запросы по локальной сети клиента, сканируя к примеру ее на наличие машин и сервисов, а это получение очень важной информации изнутри сети.

    Например я уже трижды, в разное время, видел https://127.0.0.1:7070 запрос при заходе в личный кабинет сбербанк онлайн (на этом порту anydesk висит) это происходит редко, без специальной подготовки отследить сложно (я вообще заметил его потому что у меня в браузере добавлен самописный сертификат для локалхоста, и теперь фаерфокс предупреждает любые попытки открыть шифрованный канал с его помощью)
    Ответ написан
    Комментировать
  • Как реализовать расширение, которое будет автоматически постить текст в дискуссии Steam?

    @rPman
    Устанавливаете расширение greasemonkey/tempermonkey или любой другой, позволяющий инжектить (запускать по условию) ваш скрипт на страницу, для отладки вы вообще можете в консоли браузера скрипт вставлять без расширений.

    Затем скрипт ищет на странице поля ввода и кнопки примерно так $('#inputbox_id') и получаете/устанавливаете его содержимое .value или .text (для textbox), на кнопку нажимаете .click(), т.е. вся возня со скриптом у вас должна быть вокруг того чтобы не делать эти действия сразу друг за другом (это могут проверять для защиты от автоматизации в общем случае) а с интервалом и контроль над различными ошибками (например код формы изменился).

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

    Чтобы узнать какие css селекторы у нужных вам полей, в браузере достаточно нажать правую кнопку мыши (иногда с shift) и выбрать inspect element, в открывшемся инструменте разработчика можно правой кнопкой мыши выбирать нужные элементы страницы и в контекстном меню выбирать copy/css selector или что вам угодно.

    Управлять своим скриптом со стороны лучше по http/websocket на ваш сервер (вам придется поднимать https версию если вебсайт ее тоже использует)
    Ответ написан
    Комментировать
  • Как создать два независимых вывода аудио из-под разных источников в Windows 10?

    @rPman
    В вашем случае можно воспользоваться настройками Media Player Classic, который позволяет определить через какие колонки какой канал выводить, понижая количество колонок, например стерео выводить на пару колонок квадро.

    Настройки - встроенные фильтры - Аудио переключатели, добавить каналов и отметить два нужных.

    В настройках windows нужно включить квадрофонический вывод, подключив к передним наушники а к задним колонкам - динамики.

    Панель управления - звук - Настроить (как я понял потом вы можете это переключить обратно на стерео либо ).

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

    @rPman
    делать периодические запросы к WMI
    https://docs.microsoft.com/en-us/windows/win32/wmi...
    смотреть performance data provider

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

    @rPman
    Простейшие комбинаторные алгоритмы.

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

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

    Если путей нет бегунок удаляется.

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

    p.s. можно по хитрому реализовать хранение пути в бегунке, чтобы оптимизировать затраты на n*логарифм от размера лабиринта, вместо квадрата.
    Ответ написан
    1 комментарий
  • Как раздать WiFi на 50 смартфонов?

    @rPman
    Никак, либо быстрая скорость и дорого и сложно, либо медленно но бюджетно.

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

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

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

    @rPman
    Как таковой миграции именно с proxmox нет да и не думаю что актуальна такая примитивная операция как пункт меню в интерфейсе.
    https://pve.proxmox.com/wiki/Migration_of_servers_...
    Ответ написан
    Комментировать
  • Насколько хорошо/оптимально использовать хранимую процедуру для полинга?

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

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

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

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

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

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

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

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

    @rPman
    Можно ли микроволновкой гвозди забивать?

    mysql не предназначена для передачи сообщений - это инструмент хранения и анализа данных.

    Конечно, сделать можно все что угодно, вы программист или кто, но зачем? эффективность реализации будет ниже плинтуса.

    p.s. у разных баз данных есть штатный механизм рассылки нотификаций клиентам, но именно у mysql его нет, реализуется плагинами, правда, внезапно, там будут те же сокеты :)
    Ответ написан
    Комментировать
  • Как делая программу на java (groovy) передать параметр в plsql не строкой, а байтовым массивом?

    @rPman
    tr1ck1, вам сообщение об ошибке, на русском языке, совсем ничего не подсказывает? даже нисколечки?
    PLS-00172: строковый литерал слишком длинный


    Наверное вы пытаетесь вставить в одну единственную запись типа varchar, string куда запихали 11к строк, оно тупо не помещается наверное?

    Попробуйте изменить тип колонки на text, но лучше подумайте, так ли вам нужна база данных тут?
    Ответ написан
    Комментировать