Кто угодно может пнуть мёртвого льва
Кто угодно может пнуть мёртвого льва. Мёртвый лев не рыкнет на наглеца. Мёртвый лев не откусит ему ногу «по самое не хочу», хотя стоило бы. Лев мёртв, и теперь его может пнуть каждый ишак, что конечно же не показывает превосходство ишака над львом. Эта статья будет полна негодования и ненависти. Кровь ещё не закончила кипеть от негодования. Но, разумеется, помимо эмоций будут и сухие объективные факты, немножко исследования и расстановка точек над i. В интернете кто-то не прав... опять...Существует целый ряд инструментов, технологий и вообще вещей, которым по какой-то непонятной вселенской несправедливости
«Отучаем» WinFXNet от жадности (часть 2 и заключительная)
Немного контекстаЭта заключительная часть данной серии (ссылка на первую часть) должна быть выйти раньше, но из-за многих факторов (об этом будет в конце статьи, если кому интересно) этого не произошло. Но звёзды сошлись и результаты экспериментов собраны здесь.В данной статье поясню, как я разбирался в работе файловой лицензии, как новая версия программы не поддалась мне с первого раза (поэтому в этот раз патч сделан по иной схеме, но лучше с моей точки зрения), а так же поговорим о экспериментах с живым HASP ключом.Disclaimer: Данная заметка написана в
Ассемблер: рассматриваем каждый байт «Hello, World!». Как на самом деле работают программы на уровне процессора и ОС
❯ ГлоссарийАссемблер — программа, которая преобразует (транслирует) код, написанный на языке ассемблера в машинный код;Язык Ассемблера — низкоуровневый язык программирования, где машинный инструкции (числа) заменены на мнемоники (слова) для удобства человека.Программа — текстовый файл, который содержит в себе код на каком либо из языков программирования;Процесс — абстракция операционной системы, позволяющая следить и управлять ходом выполнения программы;❯ Введение: что будет в статье?
AsmX G3: Архитектура кодировщика ZGEN. Как hwm генерирует машинный код amd64
AsmX G3: Переосмысление взаимодействия с кремнием с нуля.Мы не просто создаем еще один компилятор. Мы переосмысливаем, как программное обеспечение взаимодействует с кремнием, исходя из первых принципов. Старые методы, основанные на громоздких, монолитных бэкендах, устарели. Они медленные, сложные в поддержке и непрозрачные. AsmX G3, с его компилятором ZGEN, меняет это.В этой статье мы погрузимся в ядро нашего подхода: как наш hwm (Hardware Machine Factory) — компонент, который является, по сути, автономным модулем, — транслирует человекочитаемый ассемблер в чистый машинный код x86_64
AsmX G3: Как работает ZGEN компилятор под капотом
ВведениеМы не просто обновляем инструменты, мы переосмысливаем сам процесс создания программного обеспечения. AsmX G3 — это не очередное инкрементальное улучшение. Это фундаментальный сдвиг. В этой статье я расскажу, как именно работает наш новый компилятор ZGEN, что находится под капотом и какие возможности это открывает. Мы рассмотрим архитектуру, новые фичи, которые всё ещё на стадии тестирования, и то, как мы решаем сложнейшие задачи компиляции. Добро пожаловать в будущее ассемблера.Режимы компиляции: Два пути к одной целиМой компилятор AsmX G3 предлагает два кардинально разных режима: JITC
AsmX G3: От высокоуровневого ассемблера к нативному коду. Разбираем компилятор ZGEN
ВведениеAsmX G3 — это наш ответ на избыточную сложность современного системного программирования. Это язык ассемблерного уровня, созданный для тех, кто требует полного контроля над железом, но не хочет жертвовать читаемостью и современными синтаксическими удобствами. Мы взяли мощь ассемблера и обернули её в синтаксис, который не вызывает желания выстрелить себе в ногу.Долгое время AsmX полагался на JIT-компиляцию — быстро, удобно, но не всегда достаточно для задач, где каждый такт процессора на счету. Для создания по-настояшему производительных, нативных приложений мы разработали ZGEN (Zero-latency Code Generation
ZX Spectrum проходит тест Тьюринга: учим 8-битный процессор решать CAPTCHA
Или как я потратила выходные на доказательство временного парадокса: Z80 1976 года решает CAPTCHA 2010-х в 2025 годуВступлениеПредставьте: вы открываете сундук и находите пыльный ZX Spectrum. «В музей Яндекса», — думаете вы. А что если я скажу, что эта железка с 48 килобайтами памяти может с 95.5% точностью распознавать рукописные цифры и проходить те самые CAPTCHA-тесты «Я не робот» из 2010-х?Более того: технически она могла это делать с момента выпуска в 1982 году. <cut />Временной парадокс в трёх актах1976: Рождение героя
Об ошибках округления и способах борьбы с ними
Современные алгоритмы машинного обучения и искусственного интеллекта обсчитывают огромные массивы чисел, интенсивно используя параллельные аппаратные ускорители. Одним из побочных эффектов параллельных вычислений является то, что порядок, в котором обрабатываются элементы данных, неочевиден и часто плохо предсказуем.Многие алгоритмы быстрых вычислений, к примеру, матричного умножения, намеренно "портят", изменяют порядок действий, за счет этого добиваясь существенного сокращения количества необходимых операций.

