Задать вопрос
  • Как разрешить ChatGPT генерировать 18+ фото?

    @rPman
    гуглить: stable diffuson webui
    Клонируешь с github, читаешь доку, запускаешь батник (если видяха nvidia 3гб ram то добавь ключ --lowvram), если видяхи нет или она совсем плохая, то ключ --use-cpu auto и смотри вывод может какие еще ошибки полезут (там подскажет что надо).
    Если запустится без ошибок, то интерфейс открывай в браузере (адрес оно в консоли напишет)

    подробно https://habr.com/ru/company/selectel/blog/712316/

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

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

    Коротко про текстовый запрос:
    * только английский
    * (часть фразы:вес), вес число меньше больше 1, десятичная точка, больше, например 1.1 выше важность условия, ниже - соответственно ниже
    * количество чего-либо можно указать числом 2box, 3girl и т.п.
    * старайся описывать все содержимое картинки, иначе сеть придумает за тебя (она и при описании может проигнорировать, но результат качественнее получается)
    * управление позой, левая/правая рука, полный вид или только лицо и прочее - контроль отсутствует, заставить сеть генерировать людей которые что то делают кроме как 'сидят стоят или идут'.. сложно, иногда что то получается

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

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

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

    @rPman
    какая именно модель? а то пентиумы разные были
    Процессоры Pentium 4 на ядре Prescott получили поддержку нового дополнительного набора команд — SSE3, а также поддержку технологии EM64T (в ранних процессорах поддержка 64-битных расширений была отключена). Кроме того, была оптимизирована технология Hyper-threading (в частности, в набор SSE3 вошли инструкции, предназначенные для синхронизации потоков)

    собственно этот момент определит, будет ли принципиальная возможность запуска последних версий готовых debian/redhat или придется собирать gentoo/linux from scratch (между прочим лучший способ собрать ОС под ограниченные задачи и чтобы современный код был)

    Если поддержки нет, то можно подобрать нужную версию 32-bit дистрибутива той же ubuntu (настоятельно рекомендую выбирать xubuntu/lubuntu/edubuntu с легковестными DE, можно вручную поставить какой-нибудь openbox или даже awesome.

    Самая большая проблема, после невероятных тормозов, это браузер, мало кто заморачивается сборкой свежих версий браузера под старые платформы. Я помню похожую по скорости машину использовал для просмотра 480p и 720p видео (плеер mpv/ffplay/vlc), gentoo+awesome занимало 50мб ram, все остальное под браузер по ситуации.

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

    p.s. проверить совместимость очень легко, скачиваешь iso образы последних (потом постепенно уменьшаешь версию) linux начиная с ubuntu и пробуешь запустить (кстати с флешки загрузка в старых машинах может быть проблемной, используй 4гб флешки и пиши в режиме клонирования dd)
    Ответ написан
  • При движении мыши скачет нагрузка gpu. С чем связано?

    @rPman
    Выглядит как аппаратная проблема. Если бы не было речи о том что работа со внешним монитором не глючит можно было бы предположить что проблема в системе охлаждения.

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

    @rPman
    Да.
    Есть момент, твой объём данных ничтожно мал.

    У хранения данных в базе данных есть два основных подхода - хранить ключ-атрибут-значение, где на атрибут будет отводиться одна строка таблицы, называется eav, и хранение данных в полях, где на один объект отводится одна запись в таблице атрибуты хранятся в колонках.

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

    Второй подход всем хорош и рекомендуется, мало того можно разрабатывать интерфейс приложения с оглядкой на первый способ с возможностью добавления новых атрибутов не как новые записи в базе а как вызов ddl sql модификации таблицу, т.е. добавлять колонки на лету, таким образом получить достоинства eav и скорость аналитики. Недостаток подхода, в общем случае удаление и изменение колонок медленное в базах данных, так как пересоздаётся вся таблица, Но это проблема будет заметна когда объектов сотни тысяч.

    То есть я рекомендую хранить объекты в строках а атрибуты в колонках, даже если их сотни. Старайся отделять разные объекты по разным таблицам.
    Ответ написан
    2 комментария
  • Полный бекап VPS на внешний FTP средствами CentOS?

    @rPman
    tar + встроенное в базу данных средства резервного копирования (так как копирование файлов базы данных не гарантирует ее корректное восстановление)
    закачивать файлы на ftp можно хоть curl хоть консольным ftp да хоть скриптом на 5 строчек

    p.s. если конвертировать файловую систему vps (это возможно для виртуалок типа kvm) в btrfs то можно воспользоваться штатным инструментом инкрементального копирования на основе снапшотов (он быстрее на пару порядков, так как копируются буквально только изменения средствами файловой системы ОС а не косвенно через полный рескан, как это делают rsync)

    очень большие базы данных можно копировать, настроив master->slave репликацию (реплика и будет эта копия), при необходимости реплику можно приостанавливать, делать ее копию (тем же snapshot backup) и возобновлять работу.. в итоге интервалы между бакапами могут стать абсурдно маленькими (например минуты), Осторожно с инкрементальными бакапами, не копи их большое количество, лимитируй разумным интервалом и веди стартовое состояние на сервере хранения резервных копий, иначе к примеру храня миллион инкрементальных diff-ов можно очень долго из них восстанавливать последнее состояние
    Ответ написан
    Комментировать
  • Как распокавать многотомный архив при помощи TAR в windows?

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

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

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

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

    @rPman
    возможность его расшифровать
    это о чем? восстановить исходную строку из 64 символов? если изначальная строка будет не больше этого размера то это возможно обычным шифрованием с ключом, алгоритмов тьма, популярный - асимметричное шифрование

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

    Ну и само собой невозможно любые данные упаковать в фиксированный объем. Где то нужно хранить изначальные данные и тогда твой токен будет просто идентификатором
    Ответ написан
  • Как сделать бесконечное цикл запуска приложения ubuntu?

    @rPman
    запускать так
    while true;do my_cool_program;done
    лучше добавить sleep 1, чтобы не за ддосить машину в случае проблем
    Ответ написан
    Комментировать
  • Какую выбрать мат. плату для i5-12400f?

    @rPman
    эту, удивлен что стоит всего 10т.р.

    ну или смотри самую дешевую с чипсетом b660

    p.s. проблемы ВСЕГДА будут, неожиданные, случайные, странные
    почитай отзывы к этой материнке что я указал
    Ответ написан
    5 комментариев
  • Какой ноутбук до 20000 выбрать?

    @rPman
    На яндекс маркете до 20т.р. есть только это или это, несколько похожих моделей отличаются экраном

    На оценку не смотри, там нет отзывов. Настоятельно рекомендуется докупить карту памяти к нему и все приложения ставить на нее.

    Эти железки скорее всего хрупкие, а из-за win11 еще и тормозные (такова селяви). Лет 7 назад у меня была Похожая железка (digma citi e400 с экраном fullhd) были хорошие впечатления (только памяти emc для win не хватило), к сожалению такая железка сейчас стоила бы под 30 (тогда 13т.р.), можно найти аналоги на али.

    Нормальные ноуты с windows по цене начинаются от 50т.р. все что меньше это набор компромисов. Но киллер фичей того что я указал является сенсорный экран и отстегивающаяся клавиатура.
    Ответ написан
    Комментировать
  • Как сравнить 2 больших csv файла в питоне?

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

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

    @rPman
    Финский Мачо все прекрасно расписал
    добавлю от себя, так как у тебя принимающая сторона php то можно создавать массивы через именованные параметры GET или POST multipart/form-data в формате name[] или name[key], например:
    curl -X POST http://example.org/test.php -d a[]=1 -d a[]=2
    на сервере создаст переменную
    $_POST['a'] = [1,2]
    или так
    curl -X POST example.org/test.php -d a[xxx]=1 -d a[zzz]=2
    $_POST['a'] = ["xxx"=>1,"zzz"=>2]
    Ответ написан
    Комментировать
  • Как заблокировать webm на специфическом домене?

    @rPman
    нужно пилить расширение, для хрома использующее https://developer.chrome.com/docs/extensions/refer... (кстати еще вопрос доступно ли это именно для google chrome, так как разработчики смежных браузеров полноценную блокировку анонсировали)
    c фаерфоксом я пока не понял, внедрили ли они его или нет, обсуждение было в прошлом году
    Ответ написан
  • Где можно скачать точные IP диапазоны?

    @rPman
    не уверен что будут и свежие и точные и бесплатные (выбери только два из трех, ка бы не одно)
    (порядок и сам список случайный, я просто гуглить умею)
    https://www.maxmind.com/en/geoip2-databases
    https://db-ip.com/db/ip-to-location-isp
    https://datarade.ai/data-categories/ip-to-geolocat...
    ...
    почему ты забраковал?
    https://www.ip2location.com/database/db4-ip-countr...

    это даст понимание стоимости требования 'свежие'
    p.s. точно помню у maxmind был какой то фриварный вариант базы, с ограничениями на использование
    Ответ написан
    1 комментарий
  • Как скомпилировать C в FASM?

    @rPman
    Поспрашивай этого перца, часть работы он вроде сделал
    MASM to FASM include file converter V1.06
    inc2inc converts MASM include files to FASM include files. The conversion is limited with function prototypes.


    Еще есть проект, не совсем Си
    https://github.com/bubach/Simple-C

    но судя по 'обилию' информации в интернете, тема это странная и однозначно мало кому нужная.
    Ответ написан
    Комментировать
  • Как сохранять переменные без БД в python?

    @rPman
    Не надо избегать баз данных, они решают сразу миллион проблем

    Но если у тебя нет многопоточности, маленькие объемы то храни в файлах, сериализуя свои данные чем нравится, например последнее десятилетие люди полюбили json (до этого xml был), читабельно человеком, жмется хорошо, достаточно быстрые сериализаторы, универсально и всеми поддерживаются. При запуске кода читай файл в память, десериализуя, а при изменении данных и/или завершении скрипта сериализуй все и пиши обратно. Одно из развития подхода - пиши не в один файл а во много по объектам, воспринимай файловую систему как key->value базу данных (кстати вполне быструю).

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

    @rPman
    кто тебе надоумил отсылать в сокет СТРОЧНОЕ представление размера?
    Encoding.ASCII.GetBytes(buffer.Length.ToString())
    ulong.Parse(Encoding.UTF8.GetString(size))а потом пытаться его отпарсить из UTF8! строки длиной 1024 байта, что там у тебя после твоих циферок будет лежать, одному богу известно, будет похоже на число - приплюсуется к размеру

    отправлять надо фиксированное колчичество байт (даже считать не надо, отправляешь int размером sizeof(int) и столько же читаешь прямо в int
    Ответ написан
  • Как получить кол-во ГБ на жестком диске Linux, используя команду?

    @rPman
    df --output=target,avail
    выдаст буквально путь + пробелы + размер в байтах (-k - в килобайтах, -m - в мегабайтах, -h или H в human readable соответственно по 1024 или 1000)
    можно указать путь до любого файла, оно разберется и выдаст один маунтпоинт (две строки, первая загловок) его файловой системы.

    Есть еще утилита stat, почитай мануал, там можно указать подробноформат вывода, для свободного места там минимум 3 поля
    %a free blocks available to non-superuser
    %d free file nodes in file system
    %f free blocks in file system
    (если честно там для блоков и нод куча разных полей, перемножай, дели, считай, смотри как тебе надо)
    Ответ написан
    Комментировать
  • Как запустить новый пк со старым HDD?

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

    Иначе, начни с простых ответов на вопросы, что за операционная система (linux/win), какая версия (xp,7,8,10,1), архитектура (x32/x64) кто администрировал ее в прошлый раз, были ли какие то отхождения от стандартов (а то я помню для winxp люди меняли место размещения и имена всех системных каталогов, типа windows -> w, program files -> pf и еще более глубоко)

    p.s. если это windows, то нужно записать на cdrom/usb ту же версию и запустить в режиме восстановления, с некоторой долей вероятности в автоматическом режиме оно попробует что то восстановить.

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

    @rPman
    Если данные обрабатываются отдельно, то самая быстрая реализация - записывать в файл в своем формате (даже если это будет построчно сериализованные json), обязательный flush после записи (кеш кстати можно отключить). Индекс строить в оперативной памяти в виде словаря (key->смещение в файле+размер или сами данные, если влезают). При перезапуске приложения после сбоя, файл перечитывается, индекс в памяти заполняется заново. Этот вариант подходит для случаев, когда параллельная аналитика уменьшает объем данных в этом файле, перенося их в базу данных (в этом случае нужно параллельно обновлять индекс в памяти основного приложения и при его перезапуске учитывать что именно читать из файла а что нет), один из способов реализации уменьшения размера файлов - хранить его кусками от времени, удаляя старые (при этом нужные данные повторно отправлять в систему, в общем дальше от задачи).

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

    Если хочется базу данных - бери что то типа mysql с отключенными транзакциями (myisam), и очень грамотно составленными индексами и партицированием (может даже самодельным). Большее количество задержек вносят именно индексы.

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

    p.s. когда то давно я писал что то подобное, диск был медленный hdd но так как с него не было чтений, только записи на случай сбоя, а все данные были в оперативной памяти, скорость была огромной, десяток тысяч операций на очень слабом тогда железе
    Ответ написан
    Комментировать