Задать вопрос
  • Нормально ли, что нейросеть T5 не может использовать знак переноса строки?

    @rPman
    На основе трансформера? Проверь что у тебя токен такой есть.
    Ответ написан
    1 комментарий
  • В чем причина странного поведения PHP?

    @rPman
    Профилировать вам нужно ваш код, и не только работу с базой данных, там как раз нагрузка была бы.
    Самое простое, чего может оказаться достаточно чтобы локализовать проблему:
    * если используется cgi способ запуска php (обычно если это fastcgi/phpfpm) то все процессы php будут видны как обычные процессы (top/atop) а подробности по каждому можно посмотреть в /proc/$pid/{environ и cmdline} будет видно какой php работает и какой там запрос
    * если используется apache module, то ставишь apachetop

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

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

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

    @rPman
    Эффективнее может оказаться разобрать мертвый аккумулятор и заменить в нем аккумуляторные банки

    Так же производители любят встраивать в аккумулятор чип идентификации (или сразу управления зарядом но это реже) и чужой несовместимый не принимать
    Ответ написан
    1 комментарий
  • Почему после компиляции своего ядра linux его размер в разы больше?

    @rPman
    Если я верно помню, oldconfig берет конфигурацию из предыдущей сборки (а что там будет по умолчанию не совпадает с тем что выбрал мейнтейнер), т.е. из каталога с исходниками, а тебе, если ты хочешь подправить те что уже в дистрибутиве идут, то бери из /boot/config... (кстати помню для gentoo брал и копировал конфиг у ubuntu, решая таким образом проблемы с видео).

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

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

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

    @rPman
    Берешь утилиту convert из imagemagic (идет штатно с любым linux) и перебирая параметры сжатия добиваешься нужного размера изображений как в пикселах так и в байтах на диске.
    Ответ написан
    Комментировать
  • Парсинг по расписанию и аплоад в БД?

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

    Если удобного идентификатора нет, то обычно самое простое, - формировать из сравниваемых данных строку одинаковым способом, и получать из нее хеш сумму (md5 более чем подходит, если данных не 16-значное количество, т.е. не нужно заботиться о коллизиях), его и используй как идентификатор и храни где-то списком как предыдущие значения и сравнивай с ново загруженной, прямо во время анализа. Записи, хеш сумма которых, не была найдена в записях, помещай в базу данных (ну или обновляй значения, если речь идет о модификации а не добавлении новых).
    Ответ написан
    Комментировать
  • Почему не работает usb 3.0 на передней панели системного блока?

    @rPman
    зачем гадать, переставь в другой разъем на материнской плате (их там обычно несколько) и если проблема повторится - значит виноват разъем, если нет - материнская плата. Для гарантии можно проделать тест с другой машиной, где usb3 работает.
    Ответ написан
  • Как синхронизировать Win11 и смартфон только через WiFi?

    @rPman
    synchting, есть и под linux и под windows и под android и как я понял для iphone.
    приложение представляет функционал, более продвинутый чем любые облачные технологии, opensource, без необходимости устанавливать сервер, без использования и в каких то случаях даже без наличия интернета (копирует файлы напрямую)
    Ответ написан
    3 комментария
  • Что лучше, FreeXYZ.com или Free-XYZ.com (слитно или через черточку)?

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

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

    @rPman
    chromium отъедает больше 500мб на типовую страницу, формально половина может уехать в своп и там и остаться, но при условии что инстанс браузера не перезапускается, но тогда нужно выбирать kvm vps-ки или выделенный сервер.

    я делал приложение на java (на самом деле пофиг на каком языке) в котором использовались компоненты WebEngine - от webkit, каждый инстанс потреблял порядка 150мб и работало неплохо, но формально это отдельный браузер и его useragent нестандартный... по уму это меняется. Что интересно, если подобрать версию WebKit по старее, то потребление оперативной памяти можно значительно сократить до считанных десятков мегабайт.

    Еще вариант, при использовании mono (как альтернатива .net framework), при использовании компоненты WebBrowser используется IE (не edge!) а в linux - firefox, как минимум это было 10 лет назад это работало на очень мелкой vps-ке.
    upd. облом, майкрософт и это сломало,
    spoiler
    кто-нибудь, пожалуйста, накажите эту компанию, куда не глянь, что не задень, все где она прошлась, сломано, искорежено, куплено и заброшено
    , поэтому тут тоже придется WebKit поключать
    Ответ написан
    Комментировать
  • Есть ли какая то программа для визуальной работы с html?

    @rPman
    Eclipse Web Developer Tools, установка прямо из eclipse - help - eclipse marketplace, в настройках General - WebBrowser включаешь Use Internal Web Browser. Чтобы его открыть, жмешь правую кнопку на .html файле в Project Explorer и выбираешь Open With - Web Browser, и при желании включаешь autorefresh в нем (слева от адресной строки рядом с кнопкой refresh меню, с галочкой autorefresh), будет обновлять браузер при сохранении файлов (проверь, корректно ли он считывает разные зависимости)

    Не уверен, на сколько хорошо это работает с отладкой nodejs/php по уму должно, но как я понимаю тебе статику нужно редактировать, тут все работает как надо.

    p.s. так красиво, как было реализовано в dreamviewer не будет

    p.p.s. Microsoft Visual Studio точно таскало с собой редактор html с браузером и кажется быстрым переходом по клику в браузере в редактор, собственно больше я такого нигде кроме dreamvewer этого не видел.
    Ответ написан
    Комментировать
  • Почему не устанавливается Microsoft C++ Build Tools?

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

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

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

    Штатно с linux идут два независимых проекта виртуализации x86 машины - qemu (с расширением kvm, это полнофункциональный вариант, включающих инструменты проброса оборудования внутрь виртуалки) и virtualbox (в поставке идет community версия, без поддержки проброса usb портов, иначе топать vitualbox.org)

    gui для qemu - virt-manager (libvirt)
    virtualbox идет со своим gui

    Недостатки, начиная с windows 10 поддержки даже ограниченного 3d ускорителя в windows guest больше нет (раньше с virtualbox шли драйвера и даже работало, на win7, с оговорками но cad приложения использовались). С kvm можно попытаться пробросить второй видеоускоритель внутрь виртуалки, с большими шансами это работает но потребуются танцы с бубном

    Есть лайфхак, не устанавливаешь в virtualbox поддержку 3d ускорителя (при установке дополнений отключаешь чекбоксик), но работаешь с windows через подключение rdp (рабочие windows разрешают 1 подключение для администраторского аккаунта). Некоторые программы так работают.

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

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

    @rPman
    {identification: "4242", password: "424234", remember: false}
    это json строка, ее разбором на python можно заниматься с помощью штатной библиотеки json
    data = json.loads('{identification: "4242", password: "424234", remember: false}')
    print(data['remember'])
    Ответ написан
  • Ошибка с диском линукs ubuntu 23.10?

    @rPman
    Раскрою ответ который тебе уже дали в комментариях

    Поочередное использование разделов диска Windows (8 и старше версии) потом Linux, при настройках windows по умолчанию будет порождать случайные проблемы, вплоть до потери файлов (в твоем случае файловая система не монтируется).

    Причина, в windows для быстрого включения используется технология FastStartup, в этом режиме файловая система не закрывается корректно и при попытке работать с ней из другой ОС (даже если это другая установка windows!) в файловой системе накапливаются ошибки и она разваливается.

    Лечить файловую систему из windows (можно и из linux но настоятельно рекомендуется родные файловые системы чинить средствами windows). Сделать это можно в windows проводнике, свойства диска, вкладка обслуживание - проверка диска, отметить чекбокс 'исправлять ошибки' либо в диспетчере дисков (либо командой в консоли chkdsk).

    Чтобы такого больше не происходило, если компьютер выключается с целью последующего запуска другой ОС (или например диск извлечь и нести другому человеку), то выключать командой
    shutdown -s -t 0

    Либо полностью отключить гибернацию, как советовали в коментариях
    powercfg -h offТогда любое выключение будет полным (и соответствующий запуск windows медленным)
    Ответ написан
    Комментировать
  • Почему переменная постоянно растет, хотя я нигде не прописывал этого?

    @rPman
    ИИ от anthropic - claude.ai:
    В коде есть несколько моментов, которые могут приводить к неправильному поведению при работе с последним элементом массива alarms:

    Размер массива объявлен как ALARM_COUNT = 20. Это значит, что индексы элементов будут от 0 до 19 включительно. Но в некоторых циклах обработки массива используется условие i <= 30. Это выходит за границы массива и может привести к неопределенному поведению.
    При инкременте и декременте номера банка (funkции incrBank, decrBank) не проверяется выход за границы массива. Например, если bank = 20, то после inkBank он станет равен 21, что уже выходит за размер массива.
    Не инициализируются значения элементов массива alarms после номера 19. Эти элементы могут содержать случайный "мусор", который и приводит к странному поведению.

    Чтобы исправить эти проблемы, я бы порекомендовал:

    1. Использовать в циклах условие i < ALARM_COUNT вместо i <= 30
    2. Добавить проверку границ при инкременте/декременте номера банка:

    void incrBank() {
      if (bank >= ALARM_COUNT-1) { 
        bank = 0;
      } else {
        bank++;
      }
    }
    
    void decrBank() {
      if (bank <= 0) {
        bank = ALARM_COUNT-1;  
      } else {
        bank--;
      }  
    }

    3. Явно инициализировать все элементы массива alarms при старте.

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

    ИИ можно использовать как начало анализа, проверяя каждое из его предположений и задавая наводящие вопросы
    Ответ написан
    1 комментарий
  • Как создать exe файл с интерпретатором angel script?

    @rPman
    AngelScript sdk это и есть набор инструментов и библиотека по компиляции и запуску скриптов с интеграцией их в своем c++ приложении.

    Ответ я не знаю но я открываю документацию и там все красиво с примерами написано

    Вот так ты компилируешь скрипт
    Вот так ты запускаешь метод в скрипте

    Внутри sdk в каталоге sdk/samples есть примеры проектов visualstudio
    Ответ написан
    Комментировать
  • Какие легковесные дистрибутивы Linux еще остались?

    @rPman
    Не путай размер дистрибутива и размер установленной системы на диске

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

    Например одно время ubuntu server альтернативно можно было установить, загрузившись в примерно 100-200мб iso образ, с установщиком, который с удобным текстовым интерфейсом устанавливал абсолютно все пакеты по сети из репозитария..

    Место, занимаемое установленной ОС зависит не от выбора мейнтейнера, а от выбора софта, который тебе нужен. Что бы ты не выбрал, пример - если тебе нужно ставить пакеты для разработки нейронных сетей (tensorflow) на nvidia gpu, то качать тебе минимум 5 гигабайт всего что с этим связано (а то и больше).

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

    К сожалению, юзерфрендли его не назовешь, так как поддержка обновлений своего конфига это достаточно тяжелый труд (хоть и предоставлена куча удобных инструментов), который если запустить на год другой, может сильно усложнить дальнейшее обновление системы, вплоть до ее полной переустановки (по крайней мере так было с 5-10 лет назад). Придется изучать и разбираться почти во всем, что ты используешь. С gentoo именно ты являешься мейнтейнером своего дистрибутива.

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

    @rPman
    Вроде бы openvino может работать без tensorflow (и скорее всего умеет работать с intel ускорителями), вот пример их модели распознавания эмоций
    Ответ написан
    1 комментарий
  • Какие существуют библиотеки для подключения аудиоплееров?

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

    Например у mpv (потомка mplayer) есть возможность управлять им, симулируя нажатия на кнопки (как я помню через stdin пайпом от своего приложения) и используя плейлист через пайп или тот же stdin, формируя его на лету своим приложением

    по нормальному mpv поддерживает скриптовые плагины на lua, есть плагин mpv-network-commands так что любое поведение можно запрограммировать
    Ответ написан
    Комментировать