Задать вопрос
  • Как объединить разделы диска под одной буквой?

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

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

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

    Так же можно использовать команду mklink, позволит создавать любые символические ссылки

    Еще Far Commander по кнопке Alt+F6 умеет создавать символические ссылки (интерфейс как у копирования но будет создан линк, сам определяет, нужен ли symbolic или hard, в пределах одного раздела), позволяет настроить отображение их в списке на панели (цвет например) и корректно обрабатывает показ свободного места внизу панели (если включена в настройках) для текущего каталога (если он ссылается на другой диск)
    Ответ написан
  • Почему Windows 10 не хочет устанавливаться на SSD m.2?

    @rPman
    проведи эксперимент, попробуй отключить/включить efi загрузку (отключение еще называют legacy mbr или old dos и т.п.)

    в режиме efi и mbr установщик может использовать разные драйвера из биоса, мало ли какой из них чем то не нравится windows.

    p.s. недорстаток, если установить систему в режиме mbr то переключиться в efi потребует после обновить загрузчик средствами восстановления
    Ответ написан
    Комментировать
  • Начинается троттлинг при нагрузке, но процессор не грееется, с чем это связано?

    @rPman
    Помимо сброса частоты из-за превышения температуры, процессоры могут это делать при нехватке питания, особенно это актуально для мобильных систем типа смартфоны и ноутбуки.

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

    @rPman
    нужны куки со страницы referer, и с высокой вероятностью они будут постоянно меняться (т.е. недостаточно один раз их скопировать и использовать), как минимум это один из хороших способов защититься от автоматизаций и парсинга, заставляя 'атакующих' использовать полноценный браузер (а там можно таймингами отрабатывать)
    Ответ написан
    Комментировать
  • Почему исчезает M.2 SSD после перезагрузки, но не после выключения?

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

    Пальцем в небо:

    По документации там скорее всего один/два из sata слотов отключается при подключении диска в первый слот m.2, и поэтому ты не ssd m.2 переставляй, а переставь sata диски в другие слоты (чтобы не гадать, открой мануал к материнке и точно узнай какие слоты что значат)

    второе, вообще убери sata диски, попробуй добейся проблемы с одиноким m.2 ssd (если они будут - повод нести в сервис центр)

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

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

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

    p.s. есть разные способы использовать переменные глобально, в т.ч. экзотические
    * если переменная определена глобально вне функций, то чтобы получить к ней доступ внутри функции, ее нужно добавить в оператор global внутри этой функции или предопределенный массив $GLOBALS (не рекомендую)
    * можно определить переменную как статическую внутри класса, и получать к ней доступ везде по имени класса, типа ClassName::$variable
    * есть странный способ, хранить переменную (или просто доступ к ней) через вызов глобальной функции (или статичного метода по аналогии выше), само собой на запись примитивов потребуется заворачивать переменные в структуры. Как там внутри доступ организуется, отдельный разговор, как вариант очень смешно определить переменную внутри этой же функции как static
    function db()
    {
      static $db=false;
      if($db===false) $db=...;
      return $db;
    }
    ...
    db()->execute(...);
    // напоминаю что пример вырожденный, делать так именно для бд не рекомендую, хотя когда то таким пользовался
    Ответ написан
    Комментировать
  • Циклически выключается и включается микрофон.. Что делать?

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

    китай, алик - ... ты уверен что тебе прислали то что ты заказывал и ожидал?

    p.s. убедись что сам компьютер не является источником проблем, в идеале, подключи его к другому компьютеру и добейся повторения проблем (или их отсутствия),

    p.p.s. как минимум попробуй сменить порт usb (смени переднюю панель на заднюю или наоборот)

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

    @rPman
    Выгодная траектория, это значит тебе нужен критерий оценки выгоды, в зависимости от него и будет алгоритм.

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

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

    @rPman
    Если я верно помню, пункт меню Создать это содержимое папки /ProgramData/Microsoft/Windows/Templates (раньше было в профиле пользователя) там просто пустые файлы каждого типа
    Ответ написан
  • Как найти список непопулярных логинов?

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

    первый же генератор из гугла https://www.lastpass.com/features/username-generator
    Ответ написан
    Комментировать
  • Как защитить CSV или JSON базу данных в мобильном приложении?

    @rPman
    100% защиты не будет, в конечном счете все упрется в стоимость защиты и атаки, и соответственно смысла это делать.

    Про размещение базы на сервере:
    * так ли твое приложение будет популярно, что ты беспокоишься о нагрузке?
    * можно использовать на сервере только часть базы (выбрать ту что больше жалко) а часть не самую важную, но по возможности объемную, дублировать в виде кеша на клиенте
    * есть интересный вариант, когда сервер возвращает только идентификаторы (само собой на сервере база целиком), а локально хранятся несвязные данные (можно даже строки раскидать по частям), этот вариант имеет смысл если нужно сэкономить на сетевом трафике (в т.ч. для пользователей), не подходит если эти данные часто меняются (чтобы не рассылать обновления всем пользователям) а так измененные данные можно так же с сервера брать.
    * ограничивай количество запросов от пользователя, иначе ушлый атакующий просто спарсит большой серией удачных запросов либо саму базу либо результаты ее работы, просто используя данные, выводимые на экран приложением (что то типа автокликера)
    Ответ написан
    1 комментарий
  • Как запретить загрузку с LiveCD?

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

    Кстати относительно недавно публичный ключ менялся и в современную материнку не получится загрузиться с очень старой версией windows/linux в режиме efi (только legacy mbr при котором защита отключена)

    Сбросить это батарейкой не получится (как я понимаю можно выпаять чип и впаять свой, но там тоже есть подводные камни). Кстати это намек, что ошибка в настройке secure boot может окирпичить материнскую память (т.е. либо выбрасывать либо дорого чинить).

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

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

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

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

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

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

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

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

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

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

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

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

    Лучшее что сейчас есть готовое это LLM на основе трансформера (GPT). Предобученных моделей огромное количество, из открытых и более менее рабочих - opt (не доступна нормальная 175b и кажется только английский) и bloomz (мультиязыковая, смотри таблицу разных размеров) но они значительно слабее chatgpt35 и никто не приблизился к chatgpt4. По ссылкам подробное описание, там есть информация как использовать примеры. К сожалению работа с языковыми моделями требует очень дорогое оборудование, а на процессоре они работают в сотни раз медленнее (код так написан, он оптимизирован для gpu).

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

    p.s. llama одна из лучших 'доступных' моделей (мультиязычная от 30b) но использование ее без разрешения facebook нелегально, и ее можно даже не дообучать (но рекомендуется добавлять в запрос хотя бы один-два примера, сколько позволит мизерный размер контекста в 2к токенов), с ее качеством можно буквально анализировать смысл текста простыми вопросами.

    llama.cpp - код по запуску (не обучению) gpt моделей, не только llama, на процессоре (есть слабая поддержка gpu) оптимизированно на столько хорошо, что медленее дорогих сборок с gpu в десяток раз (а десктопные могут работать сравнимо с топовыми cpu), например llama30b обрабатывает 250мс на токен запроса и 500мс на генерацию (65b - 1100мс на генерацию).

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

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

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

    Сейчас ты общаешься с роботом, да и с человеком ты будешь общаться либо нижнего уровня саппорта (не слишком отличающегося от робота по возможностям) либо с адвокатами, если дело пойдет в суд, и там у обывателя мало шансов.
    Ответ написан
    1 комментарий
  • Почему процессоры gpu не любят разветвлений в программе?

    @rPman
    не совсем верно это помещать в ответ, я не уверен.

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

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

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

    @rPman
    Чтобы ответить на вопрос 'как хранить?', нужно задаться вопросом 'как будешь искать и читать?'.

    Типовой вопрос - нужен ли порядок в строках и колонках? не спроста ведь ты колонки и строки назвал цифрами. Беда в том что sql не очень эффективно работает с упорядоченными данными (там O(n) = n*log(n) трудоемкости с оговорками) и для того чтобы строки упорядочить, нужно будет либо хранить дополнительное поле для сортировки (иногда хватает pk id с autoincrement но до тех пор пока записи не удаляешь)

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

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

    Универсальный способ хранения матриц переменной размерности это таблица, где каждая запись - одно значение ячейки, с полями (int x,int y,value) где x,y - номер колонки и строки соответственно. Этот же метод самый неэффективный, особенно когда таблицы большие.

    Таблицы маленького фиксированного размера (колонок), при отсутствии необходимости тосовать порядок колонок в запросе, можно хранить как есть, по одной строке матрицы в строке базы данных, в таблицах (y,x1,x2,x3,x4,x...) где x1,x2,x3 это значение колонок с номерами 1,2,3 соответственно а y - номер строки
    Ответ написан
    Комментировать
  • Проблема с выделением ресурсов виртуалке, как исправить?

    @rPman
    В настройках виртуальной машины смени тип контроллера диска и сетевой карты на virtio-iscsi и для сетевой карты virtio-net, это устройства, работающие без симуляции настоящего, работающие через драйвера и на максимальной скорости

    Для гостя windows почему то штатные guest-additions не устанавливают драйвера для этих устройств, по крайней мере последние версии. Нужно искать в сторонних местах (по ссылке выше например)
    Ответ написан
  • Потребление ресурса записи ssd и как потребление памяти уменьшить?

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

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

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

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

    Многие роутеры, особенно с возможностью подключения диска, умеют запускать торент, так что да, ищи эту возможность там (иногда ее нужно доустановить). Как минимум роутер может расшарить подключенный диск, например по протоколу smb (можно подключить как диск в windows), соответственно в клиенте на компьютере можно так же настроить каталог для загрузки файлов на этот сетевой диск, но нужно понимать что даже гигабитная сеть в сумме даст 100мбайт/сек (а по smb даже меньше) а роутеры не очень производительны и скорости будут заметно ниже.
    Ответ написан
    Комментировать