Задать вопрос
  • Могут ли возникнуть проблемы при одновременном чтении и записи в разных потоках переменной?

    @rPman
    без использования синхронизации стандарт говорит что будет неопределенное состояние.

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

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

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

    p.s. если size_t не укладывается в битность текущей архитектуры, например будет занимать два слова вместо одного, то и записывать в память будет неатамарным способом, и возможна ситуация, когда соседний поток считывает число из двух половинок, одну с одной итерации цикла, а другую с другой, получив что то типа 0000 9999 -> 0001 0000 число 0000 0000
    Ответ написан
    2 комментария
  • Можно ли пропускать meta quest 3 через рентген?

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

    p.s. есть флеш память, она уязвима к ионизирующему излучению, и там должны быть на этот счет защиты. Процесс вероятностный, получишь ты проблемы с вероятность 10^-20 или 10^-19 (числа условные) я думаю тебе без разницы
    Ответ написан
    Комментировать
  • Стоит ли оформлять Copilot Pro для Visual Studio 2022?

    @rPman
    На текущий момент ИИ на базе gpt не является Универсальным ИИ (AGI), поэтому по глупому особой пользы вы от него не получите, лучшие результаты подключают в генерации текстов (маркетинг, может быть развлечения и почти наверняка симуляция людей в чатах и соцсетях), для программирования они ПОКА не подходят, по тем причинам, что в основе своей не содержат базы данных (условный RAG подключен внутри api), доступа к справочникам по библиотекам и фреймворкам.

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

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

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

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

    p.s. openrouter, оплата в криптовалюте, все топовые нейронки и не только, универсальный api (совместимый с openai) и т.п.

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

    Вот тот самый момент с не 100%-тной точностью ломает все адекватные задачи, которые можно было бы ему поручить
    Ответ написан
    Комментировать
  • Как отредактировать файл STL в FreeCAD?

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

    FreeCAD это параметрический редактор, он работает с примитивами и операциями над ними, а stl это сеточный, векторный формат, при котором объект определяется поверхностью из треугольников, и потенциальной возможностью быть в этом поверхности дырам (а они будут хотя бы из-за кривых приложений типа sketchup, которые умудряются из-за округлений размеров их создавать на пустом месте просто при импорт экспорт), с которыми freecad работает плохо (совсем не работает)
    Ответ написан
    Комментировать
  • Отрисовка наложений в windows?

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

    Из неудобств - необходимость отслеживать z-order окон, что бы корректно перекрывать только нужное окно
    Ответ написан
    Комментировать
  • Как с помощью Selenium на Python найти элемент html страницы, который расположен в #shadow-root (open)?

    @rPman
    Это фича shadow dom

    Единственное ее применение, как я понимаю, - это защита от блокировщиков рекламы, ее стали внедрять популярные веб сервисы (например пикабу)

    Правда пометка open говорит что элементы внутри должны быть доступны из javascript
    Ответ написан
    Комментировать
  • Как отправить куки?

    @rPman
    https://developer.mozilla.org/ru/docs/Web/HTTP/Gui...
    document.cookie = "name=value; domain=.example.com; path=/";

    будет работать для всех поддоменов example.com

    p.s. если без куки, данные добавляли как get параметр запросов (ну а на сервере сохраняй и передавай уже любыми способами), это будет работать на любых доменах в любых ситуациях

    upd. для разных доменов можно через iframe
    размести на странице домена A iframe на страницу на домене B, на которой скрипт отправит postMessage с нужными данными на страницу A

    из iframe на основную страницу:
    window.parent.postMessage({данные:xxx,..})
    или наоборот:
    iframe.contentWindow.postMessage(...)
    слушать сообщения:
    window.addEventListener('message', function(event) {
      // Проверяем источник сообщения для безопасности
      if (event.origin === 'https://первый-домен.com') {
        // данные в event.data
        ...
      }
    }, false);

    https://developer.mozilla.org/en-US/docs/Web/API/W...
    https://developer.mozilla.org/en-US/docs/Web/API/W...
    Ответ написан
  • Раскрыл свой Api id и Api hash в Telegram что могут сделать с моим аккаунтом?

    @rPman
    api id и hash это 'расходник', удали их из админки, обладающие ими могут максимум нагадить от твоего имени, рассылая спам подписавшимся на твоего бота, и ddos-я сам telegram (который просто отключит бота) не больше
    Ответ написан
    Комментировать
  • Windows 98IF иногда (примерно в половине случаев) зависает во время загрузки на реальном железе - как починить?

    @rPman
    Примерно в половине случаев загрузка зависает
    если иногда работает а иногда нет - это с 99% вероятностью аппаратные проблемы
    Настоятельно рекомендую
    приобрести человеку самый дешевый современный компьютер (например на базе mini itx материнских плат со встроенным процессором intel J серии, цены на внутренности от 8.5т.р. материнка_проц + 0.5т.р 4гб ddr4 ram + 1т.р. блокпитания + корпус от 500р до бесконечности, на этом рынке красивый железный корпус стоит дороже сложной электроники внутри), я видел у китайцев на алиэкспресс от 12т.р. готовый пк, красивые коробочки в формфакторе книжка (можно крепить на vesa крепление за монитор)

    запускать старый софт в виртуалке, так как уже установленную виртуалку проще найти готовую, а еще ее проще переносить на новое железо, проще поддерживать, так как виртуальное железо реже меняется, тот же qemu живет больше двух десятилетий и на сколько я знаю сейчас можно зпустить те старые образы
    Ответ написан
    Комментировать
  • Можно ли создать в гигачат промпт-функцию, не посылая ее каждый раз?

    @rPman
    если модель запускаешь с помощью vllm то можно увидеть такую строчку в логах:
    INFO 03-31 09:31:34 [config.py:588] This model supports multiple tasks: {'score', 'classify', 'embed', 'generate', 'reward'}. Defaulting to 'generate'.

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

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

    Хорошим бустом для качества модели будет приведение примеров (порядка 5 штук) сразу после системного промпта (вместе с токенами ассистент/пользователь), это позволяет модели настроиться на нужную тематику и формат вывода (отличным примером является системный промпт последней mistral3, там пара примеров размещена, причем сильно тупых, скорее всего это разработчики vllm в шаблоне оставили)
    Ответ написан
    Комментировать
  • Как реализовать доступ как api только с приложения?

    @rPman
    Ничего не мешает, можно только постараться увеличить стоимость такой подделки, усложняя и обфусцируя код и скрывая алгоритм шифрования и секретный код.
    Ответ написан
    Комментировать
  • Можно ли исполнять функции вне скриптов?

    @rPman
    Можно но стоит ли так извращаться?

    Можно создать описание действий каким то образом, так как действия скорее всего отличаются не сильно, создать один большой скрипт, скорее всего с кучей ифов, который будет смотреть на свойства объекта и менять свое поведение соответственно
    Ответ написан
    Комментировать
  • Как установить Linux Mint на все ssd диски?

    @rPman
    Во время установки тебя спросят, куда устанавливать, небольшой менеджер раздела, где можно создать раздел, отформатировать и указать, какая точка монтирования будет на нем. Например на одном диске корень /, на другом /usr, на третьем /home

    Полагаю вопрос задан не корректно, так как диски большие, типовая установка linux пара десятков гигабайт, все влезет на один диск.

    Подключить диски можно вручную после установки, отредактировав /etc/fstab

    Какую именно задачу решаешь?
    Ответ написан
    1 комментарий
  • Как написать нейросеть на языке программирования C#?

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

    Можно расширить нейронную сеть (примерно как сделали с Mixture of Expert), считай обучить одну и ту же сеть разным данным, а затем из них собрать франкенштейна плюс классификатор, который на каждом слое/уровне вибирает, какую именно сеть использовать

    Можно замораживать веса и обучать только на некоторых (что бы понимать что можно править а что нет, нужно иметь представление о том, какие именно данные где хранятся, а это может быть не просто, но и для этого есть алгоритмы)
    Ответ написан
  • Как изменить пароль к сетевой папке на Windows 10?

    @rPman
    Если нет домен контроллера или хотя бы samba!

    'Пароль на папку' мне кажется был упразднен еще в win98, а введена была windows for workgroup, при котором, на каждом компьютере в сети, одновременно быть авторизованным можно не больше 5 (странно гуглится число 20 но я точно помню оно было сильно меньше) но в сети может быть больше машин, ну и нужно было заводить всех пользователей и прописывать им пароли.

    Пароль не запрашивался, если локальный пользователь и пароль совпадали с удаленным. Т.е. пароль на сетевую шару нужно настраивать на удаленном компьютере.

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

    Сохранение паролей могло не работать (майкрософт что то сломали уже во времена win7). Компьютеры могут не быть доступны по именам а так же может не быть доступен список (это сломали где то в win8 но в некоторых комбинациях настроек это могло работать в win10, но в win11 нужно очень хорошо копаться в политиках и включать 'небезопасные' настройки.. и да, они будут отключаться случайно с очередными обновлениями)
    Ответ написан
    Комментировать
  • Как отредактировать контекстное меню "создать" в windows 10 для расширения lua?

    @rPman
    попробуй внутри создать текстовое поле
    "FileName"="filename.lua"

    затем создать пустой файл filename.lua в \Users\USER_NAME\AppData\Roaming\Microsoft\Windows\Templates

    соответственно для текущего пользователя, всех пользователей и системный (хз что должно быть, нагуглил такой список в 15-летней давности вопросе)
    Ответ написан
  • Как роутер использовать как ПРОКСИ?

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

    p.s. важно, socks прокси в этом случае должно быть доступно 'из вне', т.е. любой, не только вы, смогут подключиться к нему, да, бывает доступна авторизация, но пробелма в том что роутеры слабые, на них старый софт и производители обычно не заморачиваются с безопасностью и патчами.
    Настоятельно не рекомендую такую схему работы!

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

    С некоторыми шансами (обычно он доступен но ковыряться в командной строке придется, ну и с беспарольной аутентификацией будут проблемы), можно получить на роутер ssh доступ (на нем должен быть ssh сервер), в этом случае если подключиться к ssh с ключом -D1080 (1080 порт, в putty это называется динамический туннель) получишь socks прокси, ничего дополнительно настраивать не нужно, пока открыто подключение ssh, будет работать прокси. Это тоже обычно надежная схема, но скорее всего из коробки не будет работать, придется поковыряться.
    Ответ написан
  • Как реализуются лицензии по ядрам?

    @rPman
    Задача делится на две
    1. определение конфигурации
    2. защита от мошенничества

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

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

    В конце концов взламывается все, вопрос только в цене
    Ответ написан
    Комментировать