Задать вопрос
  • Кошелек Ledger / USDT - HighRisk. В чем причина?

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

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

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

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

    P.s. собственно aml и есть способ борьбы фиатного мира со свободным валютами, под эгидой борьбы с 'террористами'. Я допускаю что какой то процент реальной преступности там существует, но он значительно ниже того что декдарируется
    Ответ написан
  • Как почистить базу sql?

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

    10гб это очень маленький размер, хотя что может быть такого в базе аптеки? Поэтому неплохо бы проверить один из простых вариантов в сообщении об ошибке - размер свободного места на диске, почему место закончилось? Возможно изначально маленький диск? Системный раздел создан маленьким? Диск переполнен не рабочими файлами?

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

    P s. Сделайте резервную копию, причем в идеале всей системы и диска в целом, для чего скорее всего потребуется остановить работу (иногда можно делать на лету и это, но требуется специалист)... Обязательно проверяйте копию на работоспособность (тестируя сценарий полной смерти сервера) и только после этого что то ломайте!

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

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

    @rPman
    ibik aster, платная, кряков нет, есть триал

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

    Можно создать рабочее место, без мышки и клавиатуры, но подключиться к нему по vnc/rustdesk/... и управлять им независимо.

    P.s. для linux (только xserver, не новый wayland) это штатная фича, правда на рабочее место требует отдельную видеокарту
    Ответ написан
    Комментировать
  • "Настоящий" ipv6 - провайдер, файрволл, роутер?

    @rPman
    ВСЯ вина на производителях роутеров.

    Уже давно есть, и многие провайдеры не блокируют, ip6v4, но даже в тех небольших роутерах, где вроде бы есть поддержка ipv6, сделана она там на от*бись.

    ПРАВИЛЬНО чтобы функционал был продублирован, или хотя бы фаервол был уровня NAT (т.е. либо NAT что для ipv6 не нормально но реально либо доступ из вне в локальную сеть закрыт полностью, но возможность открывать доступ парой кликов мышкой к компьютерам и сервисам), а есть максимум один чекбоксик - включить, и вся локальная сеть пользователя становится голой и доступной снаружи.
    Ответ написан
  • Как подключиться к ftp CygWin?

    @rPman
    Логично, что наличие anonymous доступа не гарантировано

    Еще момент - ftp при подключении из локальных сетей за NAT (или просто с закрытыми входящими портами, что в нашей реальности норма) требует режим passive (по умолчанию ftp сервер будет пытаться открывать подключение к клиенту), соответственно поищи соответствующую опцию в своем клиенте, иначе подключение будет бесконечно долгим и не будет работать (точнее подключение сработает а вот банально список файлов загрузить не получится)
    Ответ написан
  • Может ли бесконечный цикл в программе привести к поломке компьютера или смартфона?

    @rPman
    Современные компьютеры и смартфоны 'можно сломать случайно' бесконечным циклом записи на ssd диск, на сколько я знаю, на это нет никаких уведомлений или ограничений... записав до лимита, диск в лучшем случае будет переведен в read only режим. Смартфоны скорее всего будут окирпичены (до замены материнской платы или перепаивания флэш памяти), причем это произойдет быстрее чем с pc ssd.

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

    Современные процессоры уже лет 20 не могут быть убиты перегревом, но срок годности от высокой нагрузки значительно сокращается. Но у нас есть GPU, они и работают в более жестких условиях и возможностей по их нагрузке больше. Если говорить не про случайную ошибку а целенаправленный вывод из строя - циклично нагревая и охлаждая процессор (давать попеременно высокую нагрузку и нулевую) его можно физически поломать (собственно расширяя и сжимая сломать можно все), правда температурный профиль этого нужно будет подбирать под систему охлаждения... произойдет это явно быстрее типового использования, но скорее всего все равно будет жить гарантийный срок... с другой стороны, дать высокую нагрузку на слабый процессор, чтобы перегреть его, может быть очень сложно, например я при сборке подбираю систему охлаждения с сильным запасом (в результате даже под нагрузкой слабое железо работает бесшумно и не перегревается), но для топового железа это может быть проблематичным.
    Ответ написан
    Комментировать
  • Как запустить Electron на Linux удалённо по ssh?

    @rPman
    Если нужно что бы приложение работало и выводило изображение на удаленном сервере, можно указать в переменной окружения сеанса ssh DISPLAY=:0 (точнее посмотреть это значение из уже запущенной сессии на машине).

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

    X2go сам создаст сеанс, при отключении приложения могут продолжать работать. Клиенты есть подо все, кроме может только android.
    Ответ написан
    Комментировать
  • Можно ли ускорить запись на ZFS через кэш?

    @rPman
    Zfs не умеет кешировать записи.

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

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

    Торренты лучше кешировать средствами клиента, например это умеет tixati, опция move on complete
    Ответ написан
    1 комментарий
  • Как сменить кодировку в программе PuTTY?

    @rPman
    У тебя глючит не putty, а текущая локализация windows, необходимо укстановить соответствующий пакет обновления и в настройках языка указать что у тебя русский.

    https://support.microsoft.com/ru-ru/windows/%D1%8F...
    Ответ написан
  • База знаний на собственном сервере?

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

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

    @rPman
    после скачивания остается только звук с оригинального видео, но сам видео ряд заменяется на другой
    значит 'не так' скачиваешь.

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

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

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

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

    Обычно там все не слишком сложно.
    Ответ написан
    Комментировать
  • Как исправить "лагание" 3ds Max при удалённой работе на виртуальной машине?

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

    Простейший vnc не подойдет.

    Хорошую скорость могут дать к примеру майкрософтовский rdpx (только с серверными ревизиями windows, только с прямым доступом к серверным видеокартам), или что то типа teamviewer/anydesk, попробуй parsec, так же мне очень понравилась работа steam link remote play (бесплатно, win/linux, заточена на realtime игры, и клиенты могут работать на очень старом железе, например планшетниках android, т.е. поддержка очень качественная, хотя что то я не уверен что какая-нибудь малинка тут справится).

    Открытые решения - например sunshine+moonlight (говорят лучшая замена steam link), rustdesk

    Но главное, виртуальные машины практически все не умеют предоставлять полноценный доступ к графическому ускорителю, за исключением специализированных серверных nvidia ускорителей и серверных ОС. Это сделано искусственно, на уровне драйверов (для linux есть попытки типа протокола spice). Это значит, что сами приложения будут медленно работать, используя только генерацию изображения на процессоре, либо использовать gpu не полностью (например для старых windows с virtualbox шли экспериментальные драйвера, позволяющие в некоторых пределах запускать в т.ч. cad приложения достаточно быстро, но уже начиная с windows 10 что то сломалось, и поддержка 3d ускорения прекратилась)

    p.s. ваша видеокарта кажется серверная, а значит если установить windows server то с помощью протокола rdpx можно работать достаточно эффективно (клиенты должны быть тоже windows, вроде бы linux remmina поддерживает rdpx но мне негде было проверить)

    p.p.s. если вам нужно в пределах одного помещения (десятки метров, в крайнем случае сотня, но за расстояние придется доплачивать за железо 10-20т.р. на рабочее место) вместо передачи по сети, рекомендую прямое подключение, т.е. к одной машине подключаете нужное количество мониторов (можно на одной видеокарте можно на нескольких), клавиатур и мышек, собрав несколько рабочих мест, устанавливаете на машину windows 10 (не серверную) и приложение ibik aster (лицензия на одно рабочее место примерно в 30 раз дешевле windows) и пользуетесь компьютером нативно, без тормозов и лагов сетевой передачи (один раз попробовав, никогда ни на какие rdp/vnc/anydesk/.. не вернетесь), единственная проблема - софт, многие просто не готовы одновременно быть запущенным на одной машине. Чаще всего проблем в принципе нет (каждое рабочее место свой аккаунт windows), во многих случаях приходится слегка по шаманить (например пару телодвижений для запуска steam, или к примеру некоторые игры требуют установку приложения для каждого рабочего места в разные места на диске и т.п.) и очень редко приложения не работают (например запрещено лицензионным соглашением, т.е. проверка сколько экземпляров приложения запущено), в каких то случаях решается кряками, а где то хватает той же песочницы sandbox.
    Ответ написан
    Комментировать
  • Как восстановить конкретную папку на btrfs если нет снапшотов?

    @rPman
    Ты не пробовал гуглить? первый же ответ:
    btrfs restore -v -i /dev/sdaX /path/to/recovery/ --path /path/to/deleted/file
    Ответ написан
    2 комментария
  • Есть программа которая позволит закрывать программы трея?

    @rPman
    Напиши эту программу сам.

    Создай текстовый файл с именем my_cool_program.bat (хоть в блокноте, только следи чтобы он .txt в конце имени не добавил, и укажи что у тебя dos кодировка) в этом файле каждая строка - запуск приложения, в виде полный путь к .exe файлу приложения и его параметры (разделенные пробелами).

    Например чтобы принудительно завершить какое-либо приложение, нужно знать имя его .exe файла и использовать команду taskkill:
    taskkill /f /im notepad.exe
    в данном случае будет закрыт блокнот (точнее ВСЕ запущенные блокноты на компьютере, на которые есть права).

    Имена с пробелами заключай в двойные кавычки "имя с пробелами"

    Универсально узнать, что за приложение запущено и доступно из трея не получится, но можно открыть список запущенных приложений (с помощью task manager, который запускается по ctrl+shift+esc или правой кнопкой по панели задач), затем штатно завершить нужное приложение и снова посмотреть на список, какое приложение исчезнет, то и является нужным.
    Ответ написан
    5 комментариев
  • Как сохранять клики и их время в кликере?

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

    Правильно: одним обновлением в базе нужно - проверять допустимость клика (проверить время последнего клика), обновить время последнего клика и увеличить количество кликов на 1... после чего бакэнд проверяет, сколько записей было обновлено, если 0 - значить выход за лимиты, если 1 - все ок.
    update set clicks=clicks+1, last_click_time=now() where last_click_time+:ALLOWED_CLICK_INTERVAL<now() and id=:current_id


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

    Можно больше, но тогда понадобится разнести таблицу аналитики и таблицу событий, в таблицу событий записывают события, но она без индексов, а в аналитику зааливать данные из всех собранных событий, в цикле
    Ответ написан
    Комментировать
  • Как поставить правильную кодировку в mysql-connector-python?

    @rPman
    Кодировка базы latin не предполагает хранение русских символов, по техническим причинам, соответственно коннектор понятия не имеет как твои символы корректно переводить в utf8.

    Мало того, данные в базе как то оказались? В какой кодировке их туда помещали? Вот как помещал, так и извлекай
    Ответ написан
    1 комментарий
  • Можно ли в mysql получить результат выражения из строки?

    @rPman
    Используй динамические запросы, напиши с помощью create function свою, в которой с помощью prepare и execute исполняй sql запрос, собираемый из твоей строки в таблицу плюс добавив нужные таблицы, потребность в таблицах нужно будет как то вычислять, анализируя выражение, либо задавать дополнительным полем (рекомендую этот анализ и формирование динамического sql запроса выполнять в тригерах или отдельным вызовом, который ты будешь вызывать после обновления своих формул), вот пример если используются только одна таблица, а логика фильтрации в ней заранее понятна:
    set sql=concat('select ',expr,' into @result from my_table where id=',id)
    prepare stmt from sql;
    execute stmt;
    deallocate prepare stmt;
    set result = @result;
    return result;

    в этом случае expr будет в формате sql а имена переменных из таблицы

    Если таблиц будет несколько, то добавляй имена таблиц, а анализ запроса делай через поиск "имя_таблицы." и делай соответствующий join и фильтрацию по индексам foreign и primary key (не советую делать мега алгоритм, разбирающий всю базу по структурам, хотя если запилишь, будет наверное мощная и полезная система, скорее всего у тебя будет 2-3 запроса, и нужно будет только понять, когда какой использовать)
    Ответ написан
  • В какой структуре данных хранятся страницы-конструкторы сайта в БД?

    @rPman
    В том формате, в котором работает твой шаблонизатор.

    К примеру если использовать php как штатный шаблонизатор, то храни в php файлах

    Помню был очень крохотный шаблонизатор на на javascript, работающий на клиенте, где части шаблона нужно было хранить тут же на html (это SPA), внутри script тега с типом text/html.
    Ответ написан
    Комментировать
  • Как скачать видео с Youtube со звуком в высоком качестве?

    @rPman
    yt-dlp лучшая утилита для такой задачи, если она не может, значит скорее всего универсально другие тоже не смогут (правда допускаю что в частном порядке может что то и можно сделать)

    yt-dlp дает качать со звуком только некоторые форматы, но тут же позволяет качать по отдельности звук и видео ряд, их можно позже объединить в один файл с помощью того же ffmpeg или vlc.

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

    @rPman
    Значит это не Array а объект, и length тебе считает вот это свойство length
    Потому что вот это будет равно 0 как и ожидается
    JSON.parse('[]').length
    Ответ написан