Блог*
الذهاب إلى القناة على Telegram
Блог со звёздочкой. Много репостов, немножко программирования. Небольшое прикольное комьюнити: @decltype_chat_ptr_t Автор: @insert_reference_here
إظهار المزيد1 924
المشتركون
-124 ساعات
-17 أيام
-130 أيام
أرشيف المشاركات
1 924
Repost from Технологический Болт Генона
Ждём, когда запустят DoomPDF в LinuxPDF
Разработчик под ником ading2210 представил проект LinuxPDF — Linux в PDF в браузере. Проект открывается только в браузерах на базе Chromium, использующих движок PDFium. Код написан на C и опубликован на GitHub по лицензией GNU General Public License v3.0. «Это Linux, работающий внутри PDF‑файла через эмулятор RISC‑V, основанный на TinyEMU», — пояснил автор решения. . . . Полная спецификация для JS в PDF была реализована только Adobe Acrobat, и она содержит некоторые нелепые вещи, такие как возможность выполнять 3D-рендеринг, делать HTTP-запросы и обнаруживать каждый монитор, подключенный к системе пользователя. Однако в Chromium и других браузерах была реализована только крошечная часть этого API из-за очевидных проблем безопасности. Благодаря этому мы можем выполнять любые вычисления, которые захотим, просто с очень ограниченным вводом-выводом. Код C можно скомпилировать для запуска в PDF с использованием старой версии Emscripten, которая нацелена на asm.js вместо WebAssembly. С его помощью я могу скомпилировать модифицированную версию эмулятора TinyEMU RISC-V в asm.js, который можно запустить в PDF. Для ввода и вывода я повторно использовал тот же код отображения, который я использовал для DoomPDF. Он работает, используя отдельное текстовое поле для каждой строки пикселей на экране, содержимое которого задаётся различными символами ASCII. Для ввода есть виртуальная клавиатура, реализованная с кучей кнопок, и текстовое поле, в котором вы можете ввести текст, чтобы отправить нажатия клавиш в виртуальную машину. Самая большая проблема здесь связана с производительностью эмулятора. Например, ядру Linux требуется около 30-60 секунд для загрузки в PDF, что более чем в 100 раз медленнее, чем обычно. К сожалению, нет способа исправить это, поскольку версия V8, которую использует движок PDF Chrome, имеет отключённый JIT-компилятор, что разрушает его производительность. Для корневой файловой системы возможны как 64-, так и 32-битные версии. По умолчанию используется 32-битная система buildroot (которая была предварительно собрана и взята из оригинальных примеров TinyEMU), а также 64-битная система Alpine Linux. Однако 64-битный эмулятор примерно в два раза медленнее, поэтому обычно он не используется.Представлен проект LinuxPDF — Linux в PDF в браузере https://habr.com/ru/news/878542/ GitHub https://github.com/ading2210/linuxpdf Demo https://linux.doompdf.dev/linux.pdf Он же в прошлом году запускал DOOM на POS-терминале https://t.me/tech_b0lt_Genona/4308 А недавно в PDF https://github.com/ading2210/doompdf
1 924
Зачем вообще в русском языке "жениться" и "выйти замуж"? Они означают по факту одно и то же, но при этом:
— Одно — просто глагол, второе — устойчивое словосочетание, глагол с дополнением.
— У них разные корни.
— Они требуют разных падежей от прямых дополнений (предложный и винительный).
Мне каждый раз при выражении идеи "заключить брак" приходится останавливаться, чтобы сообразить, какую форму использовать.
Для сравнения, в английском языке есть глагол "marry", и он абсолютно симметричен при употреблении к обоим партнёрам.
1 924
#prog #rust #rustlib
embed_it — макрос, который позволяет включить в бинарь целую директорию ресурсов и потом обращаться к вложенным директориям и файлам по именам, причём как по статическим (в виде геттеров с теми же именами, что и файлы), так и по рантаймовым. Посмотрите пример в README.
1 924
#prog #rust #article
Prototyping in Rust
I’ve found that my prototypes in other languages often hit a wall where I need to switch to something more robust. With Rust, I can start simple and gradually turn that proof-of-concept into production code, all while staying in the same language and ecosystem.
1 924
— Слушай, а почему ты никогда свою помощь мне не предлагаешь?
— А то я тебя не знаю: если тебя спросить, можно ли тебе помочь, ты не вежливо откажешься, а реально скажешь, чем тебе можно помочь.
1 924
Да, плюсовики тоже ругают плюсы. Но растовики их ругают, потому что у них скилл ишью. А плюсовики — потому что скилл ишью
1 924
Repost from Segment@tion fault
Китайский ИИ DeepSeek за один день покорил Уолл-Стрит, потому что упорно отказывается программировать на С++, а значит имеет сознание
1 924
#prog #cpp #article
How C++ Resolves a Function Call
Взгляд на порядок разрешения имён при вызове функции в C++ с высоты птичьего полёта, с примером, который проходит по всем шагам.
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
