• Как подключиться к 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
    База знаний создается под задачу, абстрактная база знаний - всегда помойка.

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

    @rPman
    Выполнить команду net use \\server\share password /user:domain\username
    букву диска мапить не обязательно
    Ответ написан
  • Как заменить видео файл при скачивании с помощью 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
    Ответ написан
  • Обеспечивает ли HTTPS полное шифрование и невозможность компрометации данных?

    @rPman
    Хочу напомнить, удостоверяющий центр, выдавший сертификат, способен полностью расшифровать и даже подделать ваш трафик (на сайты, чьи сертификаты он обслуживает). Думать, что удостоверяющие центры не отдают своему государству (а ведь еще есть межгосударственные договоренности, типа не отдашь ключи, 'отключим газ') все необходимые ключи, опрометчиво.
    При условии если приватник он сгенерировал а не пользователь самостоятельно.

    Владелец веб сервера (в т.ч. хостер VPS) так же при желании, способен получить доступ и к расшифрованному трафику, и к данным на диске и оперативной памяти, даже если это kvm/vmware виртуализация, даже если ты запускаешь полностью свою ОС со своим ядром... гипервизор все видит (на аппаратном уровне у intel и amd уже давно есть инструменты для защиты от некоторых атак, но вы уверены что они активированы в гипервизоре вашего хостера?).

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

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

    p.s. в наших реалиях доверять приходится слишком многим, и скорее всего выбор у нас как пользователей, только в том, можем ли мы исключить из списка необходимости доверять только некоторых участников, собственно шифрование позволяет хоть немного исключить из этого круга местных провайдеров, оставляя информацию тем кто далеко...
    Ответ написан
    4 комментария
  • Будет ли PyCharm работать быстрее под *nix, чем под Windows?

    @rPman
    4gb в современных реалиях для windows 10 и старше совершенно не подходят, хотя знаю что можно достаточно сложными манипуляциями кастрировать установку на столько, что даже можно будет запускать на 1гб машине и будет хватать браузеру, но это садомазохизм.

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

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

    Простая DE - xfce (штатно идет с той же xubuntu) или gnome (c mint) позволит оставить оперативную память для работы. Плюс нативная работа docker, нативная работа зависимостей библиотек, работа с pip python, адекватная работа с диском,..

    В общем что бы там не говорили но linux идеально подходит именно для разработчиков
    Ответ написан
    Комментировать
  • Как восстановить флешку после bootrec /fixmbr /fixboot /scanos?

    @rPman
    Указанные команды работают просто с файлами ini и максимум правят mbr запись в первом секторе (и загрузчик после них).

    Мало того, все эти команды будут работать только для legacy mbr режима загрузки, но не затронут EFI записи в биосе, т.е. используемые вами команды имели смысл для старых win7 (хотя в принципе вроде еще возможно заставить win10 запускаться без efi но это хак)

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

    Так как нужные файлы размещались на другом разделе, его достаточно просто найти и смонтировать в linux без починки, просто указав смещение, с помощью:
    losetup -o номер_сектора /dev/loopX /путь/к/образу_диска_флешки.raw

    будет создано устройство /dev/loopX (где X номер свободного, так как примеру в ubuntu эти устройства активно используются snap пакетами) которое можно монтировать как обычное устройство (оно кажется автоматом будет обнаружено и смонтировано в файловом менеджере)

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

    p.s. НАДЕЮСЬ вы уже сделали копию флешки и работаете только с этой копией?
    Ответ написан
    4 комментария