Задать вопрос
  • Как записать образ операционой системы созданой через дополнение к visual studio Cosmos (язык C#)?

    @rPman
    https://www.gocosmos.org/faq/ пишут что cosmos не основан на linux, у них какое то самописное ядро!
    Why not using Linux kernel with Mono? Why the effort to write a kernel?

    Creating our kernel written in C# and our run time we will accomplish a lot of advantages respect to use the Linux kernel:

    There will be only a version of Cosmos that will run on any CPU (code once run everywhere)
    The OS will be safer using the Linux kernel we will expose us to all the security bug that C code has
    Cosmos and the applications will condivide the same memory space using the .NET runtime to isolate processes memory. At the same time when needed a process could give the “ownership” of an object to another process directly without the need to serialization; a reference to the very same object will be used
    Cosmos will permit to implement Zero Copy I/O very easily (faster web server ever?)
    Using C# will permit us to code and debug using Visual Studio to debug the kernel itself
    Not using the Linux kernel we do not take the dependency from others and are more free to do our choices

    т.е. всякие rufus точно не подойдут, они тупо не знают как загрузчик установить и настроить
  • Аналоги RDP для linux-сервера без GPU?

    @rPman
    к сожалению эта реализация по сетевому трафику не сильно отличается от vnc, по крайней мере когда я тестировал несколько лет назад

    в оригинале rdp(старые версии, а новые в linux не завезли) транслирует каждый GDI вызов, по крайней мере это было видно при тормозной сети, при этом не было лага как в vnc, но в linux версии rdp ты получишь именно vnc реализацию с лагом
  • Проблемы с производительностью ПК/Windows?

    @rPman
    как долго это нормально и после чего становится не нормально?
  • Как сделать множественную автозамену в буферизации вывода на PHP?

    @rPman
    что такое "база текста"

    замена в тексте каких то магических констант на другие значения чтобы получать разные итоговые тексты и есть формирование текста на основе шаблона

    программа/алгоритм, которая из шаблона превращает итоговый документ называется шаблонизатор

    для php шаблонизаторов написано десятки, это помимо того что сам php это уже шаблонизатор, я об этом уже написал

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

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

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

    @rPman
    firefox шифрует куки паролем (если он включен), без него их не достать
    что то мне говорит что chromium такую же функцию имеет, либо как то завязано на аккаунт google (т.е. без авторизации получить куки не получится)
  • Как сделать свой собственный интернет для дома?

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

    Локальная сеть - формально это интернет как технология, при использовании ip адресов из разрешенного диапазона.

    Если ты к примеру добавишь к своей машине ip адрес не из локального диапазона (например 8.8.8.8) и сделаешь так для кучи сайтов (так например реализуют i2p и tor сети для приложений без поддержки прокси) то ты получишь свой собственный интернет, называть его Интернет нельзя, он другой (в северной корее назвали Кванмён, кстати там ip адреса под вопросом, возможно и локальные)
  • Какой лучший вариант для подключения накопителей?

    @rPman
    судя по отзывам тебе хватит первого ZET GAMING Arctic Red M2
    говорят он не только nvme но и sata диски читает (но подтверждения я не нашел)
    почитай отзывы к нему, человек пишет что это чип Realtek RTL9210B

    поэтому если прямо критично, сначала купи один, протестируй его и если что купишь второй... ну или посмотри другие модели где точно заявлена поддержка одновременно nvme и sata

    сам такими вещами не занимался, поэтому личного опыта нет
  • Как преобразовать документ pdf в лист excel?

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

    Но если нет, код все равно придется писать, ведь проводить анализ формата так или иначе придется.

    Я в похожей задачи споткнулся как раз из-за отсутствия координат у текстовых данных.

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

    Я помню даже пробовал abbyy fine reader (отличный пакет инструментов распознавания текста) к этой задаче присовокупить, так или иначе с таблицами беда!
  • Какой лучший вариант для подключения накопителей?

    @rPman
    я сразу поправился и картинку даже вставил
  • Какой лучший вариант для подключения накопителей?

    @rPman
    7DeBut7, почему спрашиваешь если сам нашел ссылку
  • Асинохрон телебот возможен?

    @rPman
    что значит "сохраняет данные всем" по показанному коду у тебя ничего не сохраняется

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

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

    Но настоятельно рекомендую делать сразу правильно, используя базы данных (sql, а nosql это по факту те же файлы, только с плюшками и индексами), как минимум для обучения.
  • Как скомбинировать несколько моделей в одну(StableDiffusion)?

    @rPman
    C:\Users\╨юь¤ю
    типовая проблема в windows, настоятельно не рекомендуется "не латиница" в имени пользователя, проблемы вылезают в миллионе мест, иногда неочивидных
  • Как передать изображение с Wacom STU-430 на canvas JS?

    @rPman
    Владимир, кажется автор путает понятия "цифровая подпись", из мира криптографии, с рукописной подписью
  • Как определить самый больший процент разници в if?

    @rPman
    не могу понять какой смысл было менять вопрос так что он стал буквально другим?
  • Как получить размер файла из массива?

    @rPman
    в массиве элементом является содержимое файла или его имя на диске?
  • Free inodes в Windows. Что это и как с этим бороться?

    @rPman
    формально в mfat есть аналогичная по смыслу
    вот как смотреть
  • Стоит ли покупать совершенно новый (в коробке) смартфон, 3-х летней давности?

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

    пока еще больше мегапикселов - хорошо, цифровой зум 2х на халяву.

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

    @rPman
    докину еще своего отношения, последние годы я покупаю именно 3-ех летней давности флагманы, когда в момент выхода они стоят почти в 2 раза дороже но через 3 года их цена заметно падает, а значит у меня есть еще 2-3 года времени жизни с хорошим устройством по хорошей цене

    Так, к примеру, я когда то купил xiaomi a2 (отличный смарт, маленький шустрый хорошая камера но без стабилизации)

    Сейчас у меня xiaomi redme note 8 pro (купил ровно год назад), планирую с ним хотя бы 3 года прожить
    он немного великоват, хорошая камера (для fullhd есть стабилизация видео), их хваленый макрообъектив не сильно отличается от их штатного 64мбитного фото (делаешь фото с максимальным приближением и пользуешься цифровым зумом), есть nfc (ни разу не включал), из явных недостатков - он очень скользкий и хрупкий (сделано это специально, поэтому уродовать его чехлом), я читал есть те кто покрывают свои корпуса резиноподобным пластиком (вопрос не изучал но говорят помогает)

    Сегодня я его бы и рекомендовал, ну возможно xiaomi 10 pro ...
    Изучай под цели, нужна ли тебе большая лопата или легкий миниатюрный экран, нужно ли много памяти, нужна ли карта памяти для фото и тьма тьмущая опций, обычно вариантов и не остается
  • Почему разный результат байт?

    @rPman
    оп а сразу сказать что тебе именно надо?
    чтобы разбирать пакет данных с элементами разного типа у тебя 2 подхода
    * первый - заведи свой тип данных в виде структуры, описывающей весь пакет твоих данных (к сожалению это подходит только для тех типов пакетов, структура которых не имеет динамических блоков, например строк переменной длины, или их мало)
    struct MyPacket
    {
    uint16_t myFirstElement;
    uint8_t[16] myFixedLenName;
    ...
    }
    тогда твой буфер - это буквально переменная этого типа, и работать с ней можно как есть, в си есть не только простые типы но и битовые (переменная являющаяся несколькими битами от куска памяти) и union, когда один и то же блок в структуре может быть на выбор разными элементами, лишь бы размер был одинаковый.
    недостаток, компиляторы по своей прихоти, ради оптимизации могут добавлять в структуру выравнивания и даже менять порядок, у разных компиляторов есть соответствующие директивы
    #pragma pack(push, 1) // это отключит выравнивание по 32-64 битам


    * второй - держи пакет данных в виде массива байт без типа void* (хотя любой другой подойдет, но удобнее байтовый тип), затем по шагам ты берешь нужное количество байт из этого массива и сдвигаешь указатель на соответствующее количество байт, размером с этот элемент, пример:
    *(uint16_t*)buf; // читаем данные
    buf+=sizeof(uint16_t); // делаем сдвиг

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