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

    @rPman
    Правая кнопка - инспектор/исследовать, смотри

    в играх с высокой вероятностью это будет canvas, а это значит текст выводится без использования dom и чтобы его получить придется заниматься распознаванием
    Ответ написан
    4 комментария
  • Нейронная сеть выдает не верные значения. Как можно исправить?

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

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

    В третьих, данные должны быть правильно поданы, они должны быть нормированы, быть на интервале (обычно 0-1 или к примеру -1..+1), отличный пример - для торговых объемов, подавай на вход 1/(1+v), это число будет гарантированно будет на интервале (0..1], так же старайся избегать дискретных значений и графиков с острыми вершинами (первая производная - бесконечность)...

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

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

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

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

    В этом случае пользователям в ярлыке запуска укажи не само приложение а команду запуска задачи schtasks run

    Иначе, запилить скрипт на powershell/windows scripting/любимый язык программирования, который будет при запуске приложения сохранять его pid, сохранять его в файле (имя файла должно содержать имя текущего пользователя, тогда каждому пользователю будет разрешен запуск только 1 экземпляра) и сравнивать его при следующем запуске с уже запущенным.

    Можно использовать linux way, найти/собрать утилиту flock или ее аналог, она создает файл с указанным именем и блокирует его, если удачно, запускает указанную команду иначе нет, по завершению файл раблокируется, в некоторых случаях это подходит

    Само собой если пользователь прошареный, он сможет это обойти и запустить приложение в обход твоего ярлыка
    Ответ написан
  • Как можно ускорить процесс записи csv в json?

    @rPman
    Ты запрашиваешь список ссылок на csv файлоы веб запросом, затем загружаешь по одной ссылке с сайта (самое долгое имхо) и для каждого формируешь массив (всего лишь двухмерный, т.е. твой json плоский), фильтруя записи по одному полю, плюс декодируя данные из utf-8 во внутреннее представление python (unicode) и обратно при сохранении, что медленнее чем работать с байтами.

    Т.е. что я бы сделал - либо используя асинхронщину либо (так просто проще закодить) двумя независимыми потоками или процессами, первый загружал бы данные (возможно сразу несколькими запросами, но если там один физический сайт-источник то это может не ускорить загрузку) и складывал бы их в файлы, а второй ждал бы не обработанные файлы (пока файл загружается и сохраняется на диск, его имя должно быть с пометкой о том что файл не готов, а по окончанию переименовывается), и обрабатывал бы их как поток байт (единственное место где нужно декодирование - это поиск подстроки-фильтре но помятуя про utf-8 в данном конкретном случае можно обойтись простым побайтовым поиском). Мало того, даже не надо заниматься кодированием json, просто выводи его print-ом, подставляя где надо имена полей и ковычки, нет нужды промежуточно сохранять это в массиве - прочитал csv строку и тут же ее сохранил в json, если принимающий понимает utf-8 (а сейчас все они понимают), т.е. нет нужды подменять символы на длиннющую конструкцию \uXXXX, максимум экранирование ковычек " и \ (то же самое с чтением csv),.. но прежде чем переписывать эту часть кода, достаточно хотя бы просто оптимизировать загрузку файлов, вполне возможно что 99% тормозов там
    Ответ написан
  • Как подключить по вайфаай комп через RJ-45 вход?

    @rPman
    Почти любое потребительское устройство на базе linux умеющее на аппаратном уровне wifi и ethernet - может это делать (есть шанс что в интерфейсе такой кнопки не будет но через консоль это скорее всего настроить будет можно).

    Я настраивал дешевую wifi веб камеру (кажется dlink или tplink тогда еще стоимостью в полторы тысячи рублей) в режиме 'сетевой мост', объединив wifi и erthernet в одну сеть, и использовал ее чтобы подключить компьютер к сети wifi
    Ответ написан
    Комментировать
  • Работает ли Google с распознавание JS в выдаче?

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

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

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

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

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

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

    Привожу пример простого и дешевого решения для обывателя - любой хостинг, хоть lxc/openvz, (т.е. дающий абсолютный контроль над файлами хостеру), и запуск внутри виртуальной машины, например на основе user mode linux, это буквально ядро linux в виде бинарника (не требует ничего, ни модулей ядра ни поддержки виртуализации, и при этом не замедляет работу), в который можно зашить команды запуска (откуда взять загрузчик, где лежит образ диска, параметры шифрования и т.п.), пароль вводится в консоли ssh загрузчика (initramfs гостевой машины). Все запускаемые бинарники должны размещаться не на сервере а подгружаться с надежного клиента, управляющего запуском. Еще, для kvm были патчи онлайн шифрования оперативной памяти, да ценой очень низкой скорости, но стоимость взлома такой машины становится запредельной.
    --------------------------------------------------------------
    Правильный способ, дающий очень высокие гарантии - для ввода пароля в датацентр для включения машины катается специальный надежный человек, который носит с собой часть оборудования (консоль и диск с загрузчиком) и проводит минимальный визуальный контроль чтобы отследить вскрытие и замену железа (пломбы, сейфы и системы независимого онлайн мониторинга доступа, т.е. буквально вебкамеры и датчики вскрытия со своим каналом в интернет и источником питания), само собой серверное железо тут должно быть не от хостера а от клиента.
    И такие услуги датацентры предоставляют.

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

    @rPman
    официально бесплатные - livecd/liveusb образы
    https://free.drweb.ru/aid_admin/
    https://www.kaspersky.ru/downloads/thank-you/free-...
    https://www.eset.com/ua-ru/support/sysrescue/

    как минимум drweb сделан на основе linux про касперского я уже не помню, но какая разница, если это готовый загрузочный образ
    Ответ написан
    5 комментариев
  • Какой вариант просмотра баланса BTC кошелька лучше?

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

    Самое простое, однократно запросить дамп utxo, а затем на каждый блок собирать информацию по транзакциям и обновлять балансы у себя в базе
    Ответ написан
    1 комментарий
  • Svchost.exe вносит изменения в папки опасно ли это?

    @rPman
    В диспетчере задач включи показ пути (кажется там это зовется образ) и командную строку запуска и посмотри где лежит твой svchost.exe, те что в системном каталоге windows - это часть служб windows, а вот если где то в профиле пользователя, то это 100% зловред, любят они маскироваться под него.

    Еще, загрузи с сайта майкрософт утилиты sysinternails - process explorer и autoruns, первый позволит посмотреть цифровые подписи запущенных процессов (иначе нужно на каждый кликать в диспетчере и смотреть свойства), только очень небольшое количество драйверов их не имеет, в остальных случаях это почти наверняка вирус (но отсутствие таковых не гарантия, так как инструментов цифровой подписи скриптовых сценариев в windows нет), autoruns позволит удобно посмотреть что автоматом запускается в системе, так же проконтролировать цифровые подписи
    Ответ написан
  • Можно ли установить Linux на разные диски?

    @rPman
    нет никакой необходимости раскидывать систему по разным дискам (единственное для чего это имело бы смысл - это удобство переустановки и переноса пользовательских файлов между установками,т.е. windows way), даже swap раздел не обязательно делать, так как уже давно он может размещаться в файле. Даже /boot не требуется, если используется стандартная файловая система без нетиповых конфигов llvm/raid/bcache/... это актуально только для mbr, для gpt все же потребуется 1мб раздел biosboot это если тип загрузки legacy mbr, и вне зависимости от типа разбиения, если используется efi, то нужен раздел fat efiboot)

    Корень размещаешь на ssd, а hdd монтируешь в какой-нибудь технический каталог (я обычно завожу в корне что то типа /o, /g или /i, т.е. максимально короткое имя) и в дальнейшем при необходимости переносишь объемные каталоги с помощью симлинков на подкаталог внутри hdd, т.е. ручное управление размещением файлов

    Например кеши файлов пакетов npm или gradle как минимум занимают десятки гигабайт и не требуют быстрого доступа

    p.s. установи btrfs, в нем включается сжатие zstd, работает на столько быстро (поэксприментируй с уровнем сжатия) и хорошо что шокирует, плюс у docker есть поддержка снапшотов btrfs что еще ускоряет работу
    Ответ написан
    Комментировать
  • Как в txt файле оставить только 2 строчки после определенного слова выше?

    @rPman
    * завести int status переменную, определяющую статус, что сейчас делаем, поиск подстроки (если значение 0) или вывод (если значение 1 или2, т.е. это количество выводимых строк))
    * читать файл построчно в цикле, пока он не закончится
    * для каждой строчки проверять искомую подстроку, если найдена - status =2 и continue
    * если status >0 то выводим строку
    * если status =2, выводим ': ' если status=1 то выводим '\n'
    * если status >0 уменшаем на 1
    Ответ написан
    Комментировать
  • Возможно ли провести "безопасную сессию" удалённо на чужом компьютере?

    @rPman
    В зависимости от типа удаленного подключения (rdp/vnc/anydesk/teamviewer) возможности навредить у подключившегося пользователя - разные.

    Самый примитивный протокол - vnc, в изначальном виде это только передача содержимого экрана, клавиатуры и мышки (даже звука нет), но даже в этом случае можно незаметно очень быстро нажать комбинации win+r, набрать команду и нажать enter, при должной мотивации это автоматизируется и работает на максимуме скорости, в некоторых случаях глазами заметить будет почти невозможно

    Что говорить про комбаины anydesk/teamviewer? там подключившийся может фоном копировать файлы, подключиться к локальной сети и нагадить еще больше (rdp дает сетевой доступ к машине сервера и кстати наоборот - подключившегося клиента, так что подключившийся тоже под атакой может оказаться)

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

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

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

    @rPman
    windows (начиная с 8 или 7 версии) требует два раздела - загрузочный ~200мб и системный, а oem добавляют еще один восстановления ~500мб

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

    Зачем нужен образ восстановления? там находится правильная версия ОС, для которой в биосе ноутбука прошит лицензионный ключ. Имеет смысл, если не сможешь найти такую версию самостоятельно (не получится поставить последнюю win10 если там win 8 или к примеру ты скачиваешь 8.1 а там старая 8)
    Ответ написан
    Комментировать
  • Как через cmd и терминал удалить из папки все файлы, кроме выбранных?

    @rPman
    в linux bash есть инструмент указания файлов для параметров любых утилит, запускаемых.
    например если написать myapp *.txt то в командную строку myapp улетит список txt фалов.

    Конкретно по задаче, чтобы удалить все файлы исключая указанные, то можно использовать следующую запись:
    rm -f !(file.txt|data.dat)

    Для удаления файлов, размер которых больше определенного, можно использовать find (его вообще рекомендуется для многих задач использовать, например исключить каталоги из поиска можно с помощью директивы -not):
    find . -type f -size +5M -exec rm -f {} +

    upd. для windows cmd все грустнее, на столько издевательски неудобного языка еще поискать нужно, штатно утилит которые бы позволили искать файлы и запускать код по заданной команде на сколько я занаю нет, можно написать цикл for и уже в его теле делать проверки, если имя неравно такому то или размер не больше... можешь не помечать ответом, мне просто лень да и проверить негде уже
    нужные команды if, for /? и set /? там будут исчерпывающие примеры
    Ответ написан
    4 комментария
  • Все норм с процом?

    @rPman
    Контакт отшелушился? наверное на замок упал или кнопку/клепку. В принципе есть шансы это починить, загляни в сервис центр, пусть посмотрят, капнуть туда паяльной пасты и нагреть феном, вопрос в опыте и наличии тонкого шприца для дозировании капли.

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

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

    @rPman
    Vpn тут никаким боком не поможет, это больше вопрос сокрытия своего местоположения и мультиаккаунты

    Чтобы избежать идентификации, лучший способ - использовать песочницу, в идеале, запущенной физически на другой машине (с подключением по rdp/vnc/anydesk/...).

    Ну и варианты с понижением надежности:
    * установить десктопный браузер в виртуальной машине (исключит обнаружение параметров gpu через webgl)
    * пользоваться firefox в режиме private и включив режим 'вид для ПК', но не идеально
    Ответ написан
    1 комментарий
  • Возможны ли надёжные сделки с анонимами онлайн?

    @rPman
    Про гаранта уже сказали.
    Если посредник не желателен, то можно использовать криптовалюты, а точнее мультисиг, по факту это возможность создавать транзакции, которые сработают только при условии, что указанное количество человек из участников сделки ее примут (подпишут), недостаток подхода, сделка с криптовалютами пока ещё многим неудобна, но зато возможны разные конструкции, к примеру оба участники сделки блокируют определенные суммы и обоим не выгодно ее заморозка на долго.
    Ответ написан
    6 комментариев
  • Могут ли ошибки в консоли Хрома забить оперативную или постоянную память, если да, то как это предотвратить?

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

    вызывай скриптом consloe.clear() типа такsetInterval(()=>console.clear(),3600*1000)для автоматической очистки консоли раз в час, этого будет более чем достаточно
    Ответ написан
    Комментировать
  • Почему перестал компилироваться exeшник в Pyinstaller?

    @rPman
    3579 INFO: Appending archive to EXE C:\Users\sergey\desktop\dist\stars.exe
    3591 INFO: Building EXE from EXE-00.toc completed successfully.
    в конце оно пишет что все ок собралось, может не там ищешь exe?
    Ответ написан