Задать вопрос
  • Как проверить, что программа что-то делает (курсор в ней в виде "часиков")?

    @rPman
    В общем случае не существует способов решить твою задачу.

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

    Курсор мог бы быть решением если одно но - он меняется только пока этот курсор находится строго над окном приложения, причем над его видимой частью, т.е. если приложение свернуть или оно будет загорожено другими окнами, то этого понять будет нельзя.
    Можно написать библиотеку и вешать ее как hook на вызовы winapi SetCursor (для запуска приложения потребуется администраторские права а так же с высокой вероятностью в современных версиях win10-11 это уже будет не так просто сделать, по крайней мере я пользовался одним таким приложением minimize to tray и оно уже не работает), так же это не будет работать с windows store приложениями, а точнее те что написаны на .net и используют среду CLR.

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

    @rPman
    Оформлю как ответ но сразу говорю это извращение.

    Создай таблицу в calc, сохрани, и вставь в документ writer как Врезка (будет вставлен документ как есть с кастрированным интерфейсом).

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

    @rPman
    gpt4all это запускалка и менеджер моделей.
    Локально, на машинах без gpu или со слабыми, объем памяти которых недостаточен, используют ggerganov llama.cpp, который уже стал мощным монстром с собственным http api сервером. Используй его напрямую.
    Ответ написан
    Комментировать
  • Где хранится информация и откуда её берет нейросеть для ответа?

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

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

    Таким образом chatgpt не только использует свою/свои большие языковые модели как память, но и позволяет использовать внешние источники информации причем максимально свободным образом, так будто там сидит человек и читает все что написано клиентом и разработчиком плагина и делает запросы.

    p.s. напомню, gpt от openai и некоторые другие, могут одинаково хорошо работать как со структурированными данными так и со свободным текстом (ты можешь им json файлы слать, добавив к ним в начало выдержки из документации по их использованию) и попросить в ответ так же давать json, который уже можно будет отправлять 'тупым и устаревшим' приложениям, не умеющим думать но идеально отрабатывающим запросы в бд.
    Ответ написан
    Комментировать
  • Как запустить эмуляцию телефона Андройд?

    @rPman
    Попробуй https://www.android-x86.org/ запустить в эмуляторе на выбор qemu/virtualbox/hyperv (только win)
    Затем установи туда это https://opengapps.org/

    будут траблы с видеоускорением (собственно из-за них и других проблем и появились куча таких проектов типа bluestack и прочие)
    Ответ написан
    Комментировать
  • Где можно найти в свободном доступе медицинские 3Д сканы?

    @rPman
    Данные - новое золото.
    Как вы представляете такое богатство в свободном доступе?

    p.s. учимся гуглить с помощью бинг ;)
    NIH (The Cancer Imaging Archive): Эта база данных содержит обширное количество датасетов, включая сканы грудной клетки с диагнозами, метками и аннотациями, а также данные о легких, мозге, молочных железах, печени и других органах.
    OASIS: Здесь представлены снимки магнитно-резонансной томографии (МРТ) для кросс-секционного изучения.
    Kaggle Data Science Bowl 2017: Этот датасет содержит изображения легких для задачи диагностики рака.
    Stanford Artificial Intelligence in Medicine / Medical Imagenet: Открытые датасеты от Stanford’s Medical Imagenet для медицинских изображений.
    MIMIC: Это открытый датасет радиологических отчетов, основанный на данных о критических пациентах.
    Ответ написан
    Комментировать
  • Как сделать голосовой ввод через микрофон windows 10-11?

    @rPman
    Нет такого, и создание такой поддержки для windows очень не простое. Есть сторонние инструменты, но они еще более ограниченные. Эта область стагнировала годами, надеюсь нейронки трансформер вдохнут в нее жизни.

    Попробуй функционалом от гугл в google docs, чтобы оценить достоинства и недостатки. Так же при использовании google chrome можно включить подобный функционал простым плагином (я не нашел готового но раньше там достаточно было добавить атрибут x-webkit-speech к любому input и в нем появится кнопка голосового ввода, сейчас чуть чуть сложнее, в стандарте у браузера есть соответствующий api)

    p.s. Интересно, сколько народ готов за подобный софт заплатить?
    На основе открытых нейронных сетей типа whisper (там как я понял на код и веса очень удобная MIT) можно запилить вполне автономное приложение, а уж при наличии доступа к облачным api и подавно.

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

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

    @rPman
    Это меню grub.
    не помню про centos, но в современных версиях, по умолчанию он не показывается, и будет виден только если предыдущее завершение работы было не корректным.

    Если что, в grub есть настройка, сколько времени показывать это меню по умолчанию и автоматически грузить какой пункт (остановить автозагрузку по нажатию ESC или стрелок)

    В разных версиях grub это настраивалось по разному, гугли именно для своей centos grub timeout
    Ответ написан
    1 комментарий
  • Как скрыть разделы жесткого диска для разных пользователей?

    @rPman
    Не администраторы (пользователи ОС не с правами администратора) не могут 'видеть разделы', им доступны только диски и каталоги, на которые выданы соответствующие права (по умолчанию на чтение доступ есть)

    Можно убрать все буквы дисков (останется только системный C:) а диски примонтировать на каталоги (в управление дисками можно удалить букву у диска и добавить каталог), настроив на них соответствующие права.

    p.s. для минимальной (не идеальной, можно обойти, заразив машину трояном) защиты данных от пользователей 'администраторов' можно воспользоваться встроенным шифрованием файлов (в свойствах каталога или файла можно указать что он зашифрован). Такие файлы будут доступны только из под аккаунта, создавшего их (внимание, без резервного копирования пользовательского профиля, там есть специальные встроенные методы для этого, его потеря будет означать потерю доступа ко всем зашифрованным файлам без возможности восстановления)
    Ответ написан
    2 комментария
  • Поможет ли переустановка Windows при bad блоках на жестком диске?

    @rPman
    BAD блоки это - диск в мусорку.

    Существует мизерный шанс, что новые сбойные сектора не будут появляться (повторяю, этот вариант почти нереален), в этом случае необходимо протестировать диск chkdsk с ключом /r (проверка поверхности), например из консоли восстановления (доступна на установочном диске, выбирай восстановление системы и выбирай запуск консоли), сбойные сектора будут помечены.

    Затем при установке системы нужно выбрать этот диск и не форматировать его.

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

    @rPman
    yt-dlp

    И бодаться с гугловскими системами противодействия автоматизаций.

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

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

    @rPman
    комп будет выключаться и сервер соответственно тоже,

    к ней всегда будет доступ

    Сервер нужен так или иначе, не важно где он запущен.

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

    Точно помню был шуточный проект вики-справочника, как пример работы с webrtc (технология peer-to-peer подключений для веб приложений, на его основе к примеру работает webtorrent), где странички хранились исключительно в памяти пользовательских браузеров, пока на них кто то смотрит.
    Ответ написан
    Комментировать
  • Как узнать, был ли изменен файл?

    @rPman
    два направления:
    * первый периодические опросы 'времени последнего изменения' с помощью os.path.getctime(path), если время изменилось - значит файл был изменен (речь о командах на запись но содержимое не проверяется).
    Достоинства - простота, высокая скорость, если количество отслеживаемых файлов мало (до сотни).
    Недостаток - низкая оперативность изменений, определяется интервалом опроса

    * второй, подписаться на события изменений файла в файловой системе средствами ОС, они отличаются в каждой свои (например для linux гугли библиотеки python inotify). Можно вместо своей реализации использовать готовые утилиты (в linux inotify/inoticoming/incron/...)
    Достоинства - высокая оперативность и скорость реакции на изменения, можно отслеживать изменения в огромном количестве файлов, очень подробная информация о действиях (например можно получить события о том что файл кем то был открыт и его читают)
    Недостатки - сложность реализации, зависимость реализации от операционной системы.

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

    @rPman
    Про требования ни слова конечно

    Собственное облачное хранилище со публичными ссылками - это обычный веб сервер (nginx/apache), файлы заливать любым удобным способом, начиная с ssh/scp и кончая webdav (это штатный плагин веб сервера, папку можно смонтировать в windows как обычную сетевую).

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

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

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

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

    в каталоге \users размещаются профили пользователей windows, там символические ссылки используются активно, удалить их нельзя
    Ответ написан
    Комментировать
  • Возможна ли sql инъекция?

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

    Чтобы воспользоваться уязвимостью нужно серьезно зарыться в исходники php или mysql и понимать как обрабатываются ими мультибайтовые кодировки.

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

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

    Если что под твою задачу лучше делать цикл while и считать количество 'новых слов' а не количество шагов, зачем тебе эти шаги
    Ответ написан
    Комментировать
  • Как пробросить порты системы за nat сетью?

    @rPman
    Либо гнать данные через vps-ку, используя ее как сервер посредник, либо настроить upnp и работать как обычно (upnp позволяет настраивать перенаправления портов на роутере автоматически).

    Либо воспользоваться технологией STUN, в ней машины за NAT открывают udp соединения с третьей машиной (твоя vps) а затем, имея на руках порты на роутере, подключаться к ним напрямую минуя vps-ку (udp это позволяет)
    Ответ написан
    Комментировать
  • Как работает NFC на физическом и программном уровнях?

    @rPman
    Да, если nfc использовать по назначению - для передачи метаинформации и как буквально метку. Сами же данные передавать можно по wifi или другим беспроводным технологиям (например мобильные 3g/4g/5g/...).

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

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

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

    p.s. делать так бессмысленно, с появления таких приложений как syncthing, все это не нужно. Настраивать подключение через qr кодо дело на 1 минуту, софт опенсорс на любое железо и ос, не требует сторонние сервера и не копирует туда данные (по умолчанию используется сервер для подключения устройств за nat но можно свой установить)
    Ответ написан