Задать вопрос
  • Почему в команде man echo нет информации об аргументе -e но он работает?

    @rPman
    Потому что man echo говорит про /usr/bin/echo а в bash используется встроенная в bash команда echo (т.е. это команда языка а не утилита), соответственно и документацию нужно смотреть в bash
    https://www.man7.org/linux/man-pages//man1/bash.1.html
    echo [-neE] [arg ...]
                  Output the args, separated by spaces, followed by a
                  newline.  The return status is 0 unless a write error
                  occurs.  If -n is specified, the trailing newline is
                  suppressed.  If the -e option is given, interpretation of
                  the following backslash-escaped characters is enabled.
    Ответ написан
    4 комментария
  • Есть ли разница между *p++ и p++?

    @rPman
    *p++

    Унарный оператор * (если знак перед операндом и слева нет другого операнда) это значение по адресу, на который указывает операнд (в твоем случае это p который ссылка на char (*char) выше равен buf, который инициализирован массивом символов строки "123456\x00" (0 символ в конце не показывают и не учитывают в типе константы, но он есть)
    Затем идет унарный оператор ++ (правосторонний) который увеличивает на 1 значение операнда слева, т.е. *p
    Т.е. данная строка увеличивает на 1 первый (точнее нулевой) элемент массива, и кстати в твоем коде это строка-константа, и так делать нельзя и поведение будет неопределенным (зависит от компилятора).

    *p++ - увеличит ссылку p на следующий элемент и вернет его значение, совсем забыл про приоритеты, сам я стараюсь брать в таких случаях в скобки *(p++)
    p++

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

    @rPman
    lowendstock.com и аналогичные поисковики, socks прокси не требует установки никаких приложений, используется штатный ssh (ключ на клиенте -D1080)
    Ответ написан
    Комментировать
  • Где найти созданные на WordPress страницы?

    @rPman
    В базе данных в таблице wp_posts

    Дизайн хранится в файлах темы header.php, footer.php, page.php...

    Первый же результат из Гугла на тему структуры хранения wordpress https://wp-staging.com/docs/the-wordpress-database...
    Ответ написан
    5 комментариев
  • Как отобразить при случайном порядке уникальность страниц?

    @rPman
    Если скорость исполнения не критична (что маловероятно но вдруг) можно обойтись без random, а сортировать строки по хешу от crc32(row_id*MAX_USER_ID+user_id) или представив числа как строки например:
    select * from table order by md5(concat(id,'|',$user_id))

    советую использовать числовые хеши типа crc32, по уму они быстрее.

    MAX_USER_ID это максимальное значение user_id, что бы значения не пересекались, так как если просто сложить id+user_id то 1+3 выдаст тот же результат что и 3+1. Можно чуть сократить сдвиг (особенно если хочешь поместить результат в 32-битный int), если убрать из интервала неиспользуемые минимальные user_id - id*(MAX_USER_ID-MIN_USER_ID)+(user_id-MIN_USER_ID). И конечно можно битовыми сдвигами пользоваться.

    Достоинство - это полностью вычисляемый алгоритм, ничего хранить не придется.

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

    Второй недостаток - новые записи могут попасть в начальную часть списка, которую пользователь уже прочитал, т.е. все статьи в результате сдвинутся вперед. Это можно частично решить (статью, появившуюся в начале, пользователь так и не прочитает), если пагинацию делать не постраничную, а записи по ее id, т.е. в интерфейсе есть next/prev но нет номера страницы (в ссылке id записи или ее вычисляемый хеш).

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

    @rPman
    Проблема у тебя возникнет гораздо раньше - на аппаратном уровне (до выбора протокола).

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

    Но если прямо очень очень надо и есть время и деньги на эту возню, то:

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

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

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

    @rPman
    Открываешь тот же GIMP и начинаешь экспериментировать (прямо на своем примере)
    * Меню Цвет -> Порог
    задаешь минимальный и максимальные значение яркости, до тех пор, пока размытое изображение не станет желаемым (по факту при изменении будет утолщение или утоньшение букв, так как антиалиасинг делает плавное изменение яркости в зависимости от условного расстояния до середины линии)
    45/255
    67c201f8c943d817348494.png
    172/255
    67c2020148aae438116236.png
    248/255
    67c202080e314927836371.png

    Алгоритм примитивный - для выбранного канала RGB/HSI (или расчетное типа суммы или среднего или что душе угодно) задается пороговое значение, если значение попадает в него - выбираем цвет 1 иначе 0 (итоговое изображение монохромное)
    * Фильтры -> Улучшения -> Повысить резкость
    * Изображение -> Режим -> Индексированный
    'Создать оптимальную палитру' установить 2 цвета
    (по уму это то же самое что порог, но забитый в коде, значения не очень оптимальные но под твою задачу могут подойти, зависит от разрешения изображения)
    Ответ написан
    4 комментария
  • Сurl и какие права ему нужны?

    @rPman
    список ссылок это бывший .m3u8, так собирайте из ссылок его (можно вставлять https ссылки внутри) и открывайте ffmpeg напрямую, он его понимает и умеет конвертировать.

    Это примитивный текстовый формат, обычно достаточно заголовка и ссылок на куски в порядке их просмотра
    Ответ написан
    Комментировать
  • Kali linux на внешнем SSD через Virtualbox?

    @rPman
    Прямо принципиально virtualbox? Почему так странно, там же есть iso образ, первая же ссылка в recomended.

    удобно не будет, потому что внешние диски могут менять букву диска, если возникнет конфликт или используешь разные компьютеры, но можно на каждом компьютере после того как первый раз вставил диск, изменить его букву (или указать путь на диске с ntfs например c:\myssd1, тогда он запомнит что именно этот диск по этому пути)

    дальше, сама virtualbox портативно не ставится (но выкрутиться можно, просто объяснять долго) поэтому не заморачивайся и каждый раз на новом компьютере заново создавай виртуальную машину, указывая vbox образ диска с внешнего и пользуйся
    Ответ написан
    2 комментария
  • Непонятная ситуация с терминалами, нормально ли это?

    @rPman
    Покупать антивирус для разовой проверки не надо. kaspersky и drweb предоставляют бесплатные для домашнего использования версии, в т.ч. liveusb, скачиваете, записываете на usb/cdrom, загружаетесь и проверяете компьютер на вирусы.
    Ответ написан
  • Как лучше обновлять счётчик записей?

    @rPman
    триггером на insert/delete, быстрее и удобнее некуда
    Ответ написан
    6 комментариев
  • Как Live2D проверяет лицензию?

    @rPman
    Если бы нужно было бы привязываться к оборудованию пользователя, я бы использовал бы идентификатор материнской платы UUID (в windows с помощью WMI в linux dmidecode)

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

    p.s. можно потребовать доступ к реальному GPU (в виртуальную машину его можно пробросить) там тоже есть UUID и LUID (вопрос исследования) эти данные наверняка можно получить даже с помощью браузера (это та еще песочница но gpu обычно дают доступ что бы видео крутилось)
    Ответ написан
  • Может ли буфер обмена или другие программы скомпромитировать мой ip, если я подключаюсь к удаленному пк на vds через vpn?

    @rPman
    Каскадирование vpn должно защищать от деанонимизации.

    Ваш компьютер -> vpn на вашем компьютере (ip1) -> vpn на роутере (ip2) -> интернет (ip3)

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

    И да, эту информацию сообщают скорее всего не vpn провайдеры, они простые потребители интернет, а провайдеры, к которому они подключены.

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

    И конечно, никакие буферы обмена ваш ip без вашего ведома не передадут. Но. вы можете спалиться еще и более простым способом, например выходя без vpn а после с vpn из под одного и того же браузера, какие-нибудь google, благодаря рекламным сетям, идентифицируют пользователей всего интернета в автоматическом режиме, и технологии эти совершенствуются и приватный режим им нипочем... не говоря о том что сам браузер благополучно все рассказывает своему создателю.

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

    @rPman
    запускай веб сервер
    php artisan serve --host=0.0.0.0
    а подключайся по ip адресу компьютера, на котором стоит веб сервер
    Ответ написан
    Комментировать
  • Сайт делает запрос на https когда сервер на http?

    @rPman
    Отключить Режим «Только HTTPS» в браузере, либо указать в его настройках, для каких сайтов его не использовать.
    Ответ написан
    Комментировать
  • Есть ли проблемы синхронизации, если PhpStorm запущен под Windows, а файлы и приложение находятся в WSL2?

    @rPman
    Если разворачивать по сети (считай что wsl машина просто еще одна физическая машина в локальной сети) то проблем не будет.

    Если же пытаться 'синхронизировать' файлы используя файловую систему, например копируя из wsl файлы через /mnt/c (или еще хуже, напрямую залезая в каталог, где хранятся файлы wsl образа в %appdata% на windows) то будут проблемы. У меня вылезали дикие глюки, например файл windows видел новее чем файл внутри виртуалки, причем обновлял файл и изнутри и снаружи... доходило до абсурда файл удалял, создавал новый, а в windows был еще старый и удалив его, ничего не было.

    wsl2 использует образ диска (это по факту нормальная виртуалка по всем правилам виртуализации), говорят с этим конфигом реже проблемы.
    Ответ написан
    Комментировать
  • Проблема с Windows Boot Manager. Не загружается винда, что делать?

    @rPman
    Лезем в биос и проверяем, что настроено во вкладке boot, в частности выбран UEFI режим загрузки или CSM (еще его называют legacy или dos или mbr)

    Если подключаемые диски мешают загрузке, значит системный диск у вас не первый (воткнут не в первый sata), точнее речь идет о порядке дисков, т.е. например ваш системный в 3 разъем (они на материнской плате пронумерованы, так же нумерация есть в инструкции к материнке) а новый диск вставляете во 2.

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

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

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

    Как при загрузки с флешки перенести восстановить windows boot manager windows 10 на НОВОМ диске?
    Ответ написан
    Комментировать
  • Владельцы подписки chat gpt, нормальные ли дизайны делает платная версия?

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

    Успешные примеры, которые ты можешь увидеть в интернете - это предобученные варианты, т.е. модель просто показала то что было в обучающей выборке (словесное описание само собой)

    Штатный генератор картинок ИИ не является, это простой (по сравнению с gpt) транслятор смысла, в котором галлюцинации - его основная деятельность.

    p.s. есть агенты, построенные поверх ИИ, т.е. в беседе gpt генерирует команды внешним утилитам, которые что то рисуют, делают, запрашивают в базе и т.п. кажется поверх этого народ что то пытается пилить, может даже что то полезное выйдет, но этого нет в chatgpt (ну не было в прошлом году)
    Ответ написан
    Комментировать
  • Почему тормозит виртуальная машина в Proxmox?

    @rPman
    убери zfs из конфига, raid можно было бы сделать штатным mdadm ну а для поиграться тебе хватит btrfs с тем же функционалом (сомневаюсь что ты коснешься того что не доделали в нем) но значительно лучше работающем на слабом железе.

    zfs нужно МНОГО оперативной памяти, даже без онлайн дедупликации

    ну и zfs очень плохо работает с hdd, просто отвратительно. Полагаю те кто запускает его на дорогих raid контроллерах со своим многогигабайтовым кешем, этого не замечают, но обычные 'смертные' видят все с первой секунды.
    Ответ написан
    6 комментариев
  • Как сделать сайт с прокси хочу чтобы открывался с прокси, например на 2ip есть такая функция?

    @rPman
    Вем нужна казахстанская прокси или vpn, на указанном вами сайте есть прокси но нет казахстанской.

    Одно время мне нужна была прокси именно из Киргизии/Казахстана, я не нашел дешевле 1т.р. в месяц и то что тю нашел, было очень медленным, так как похоже активно используется спамерами.
    Ответ написан
    Комментировать