В этой статье обсуждается необычное применение особенностей защищённого режима архитектуры x86 — для произведения вычислений без исполнения инструкций, то есть за счёт внутренних механизмов процессора: аппаратного переключения задач, хитроумного управления памятью и нетривиальной логики Читать полностью »
Рубрика «ненормальное программирование» - 15
Вычисления без инструкций на x86
2020-12-16 в 12:35, admin, рубрики: red pill, x86, виртуализация, ненормальное программирование, низкоуровневое программирование, Процессоры, системное программирование, тьюринг-полнота, эзотерическое программированиеИнтернациональное программирование на естественных языках
2020-12-05 в 9:26, admin, рубрики: natural language processing, естественный язык, ненормальное программирование, новый язык программирования, Программирование, разработка языков программирования, Семантика, Совершенный кодВ последнее время часто попадаются на глаза статьи о новых языках программирования, а так же различные рейтинги и прогнозы, связанные с популярностью компьютерных языков.
Заявляют о себе и новые инструментальные средства, которые в своей работе используют собственные форматы описания конфигурационных файлов или последовательности выполняемых команд, которые так же очень сильно приближает их к понятию «язык программирования».
Цель написания данной статьи — формулировка ожиданий и возможной реализации абстрактного языка программирования, который может стать универсальным инструментом для общения между компьютером и человеком.
Читать полностью »
Низкоуровневое программирование STM32: от включения питания до «Hello, World»
2020-11-27 в 13:15, admin, рубрики: diy или сделай сам, ruvds_перевод, stm32, Блог компании RUVDS.com, ненормальное программирование, программирование микроконтроллеровВ этом материале я хочу рассказать о том, как писать программы для микроконтроллеров (Microcontroller Unit, MCU) Cortex-M, вроде STM32, используя лишь набор инструментов ARM и документацию, подготовленную STMicroelectronics. У некоторых читателей может появиться вопрос о том, почему кому-то это может понадобиться. Если вам эта идея, на первый взгляд, не показалась очень уж страшной, то, возможно, вам будет интересно то, о чём пойдёт речь в этом материале. И, кстати, подумаем о том, кому и зачем это может пригодиться.
Конечно, разрабатывать программы для MCU STM32 можно с помощью существующих фреймворков. Это может быть ST HAL, обычный CMSIS, или даже что-то, более близкое к Arduino. Но… что тут увлекательного? Ведь, в итоге, тот, кто пользуется каким-то фреймворком, полностью зависим от документации к нему и от его разработчиков. И, с другой стороны, если документация к STM32 кажется кому-то, работающему с этой платформой, так сказать, бредом сивой кобылы, то можно ли говорить о том, что этот человек по-настоящему понимает данную платформу?
Поэтому давайте поговорим о низкоуровневом программировании STM32 и доберёмся от включения питания STM32 до «Hello, World».
Читать полностью »
Russian AI Cup 2020 — новая игра-стратегия для разработчиков
2020-11-27 в 12:01, admin, рубрики: AI, codecraft, Gamedev, raic, russian ai cup, russian ai cup 2020, Блог компании Mail.Ru Group, Занимательные задачки, искусственный интеллект, ненормальное программирование, Программирование
Этот год трансформировал многие процессы, изменились традиции, привычки. Поменялся ритм, появилась дополнительная неопределенность и напряженность. Но душа IT-специалиста требует разнообразия, и многие разработчики нас спрашивали — будет ли ежегодный чемпионат Russian AI Cup? Будет ли анонс? Какая тема грядущего чемпионата? Брать ли отпуск?
Не без изменений, но в лучших традициях. Накануне старта мы анонсируем один из крупнейших онлайн-чемпионатов современности по программированию искусственного интеллекта — Russian AI Cup. Приглашаем войти в историю!
Читать полностью »
Что за X++? Что за ABAP? Древние языки, про которые интересно слушать, но не дай бог на них писать
2020-11-19 в 14:01, admin, рубрики: abap, forth, Prolog, ненормальное программирование, старое железоБольшая разработка — дело коллективное, и это хорошо. Что бы ни взбесило тебя в условных Go или JS, точно найдется сотня-другая разрабов с такой же болью. Преодолевать ее вместе легче — и когда ломаешь голову над рабочей задачей, и когда просто собираешься с товарищами поныть, как все плохо.
Пишем ОС на Rust. Настройка среды. Бинарник для «голого» железа
2020-11-12 в 9:01, admin, рубрики: Rust, Железо, кросскомпиляция, ненормальное программирование, операционные системы, ПрограммированиеНастройка среды. "Голый" бинарник, или Исполняемый файл без main()
Первый шаг в написании своей ОСи — создание бинарника, не зависящего от стандартных библиотек, это делает возможным запуск кода без ОС — мы же пишем свою.
Оригинал блога разрабатывается на GitHub. Замечания к оригиналу оставляйте на странице Issues репозитория выше, а к переводу — в личке, комментариях или тут. Код, написанный в этой статье, содержится в ветке post-01
.
Трассировка лучей в реальном времени в 1 КБ кода
2020-11-12 в 7:03, admin, рубрики: demo, demoparty, demoscene, pc-speaker, ассемблер, демопати, Демосцена, ненормальное программирование, Работа с 3D-графикойДолгий путь к рождению Chrome Revenge
PENTRACE
Всё началось в 1994 году, когда я прочитал в Dr. Dobbs Journal несколько интересных статей о FPU (математическом сопроцессоре) нового процессора Pentium. Я пришёл к пониманию того, что численная производительность Pentium очень чувствительна к использованию и порядку команд FPU, и что дополнительными командами FXCH можно значительно увеличить скорость выполнения.
В то время при необходимости трассировки сцены лучами для получения результата требовались часы или даже дни. Я решил написать трассировщик лучей, похожий на POV-Ray или BOB, только на языке ассемблера, чтобы код при этом был сильно оптимизирован под FPU процессора Pentium. Это был «Pentrace», мой дипломный проект в колледже.Читать полностью »
Пишем «Змейку» для клавиатуры с подсветкой
2020-11-11 в 7:40, admin, рубрики: ARM Cortex-M3, Coolermaster Quickfire Rapid-I, diy или сделай сам, Блог компании VDSina.ru, гаджеты, ненормальное программирование
Введение
Ночью я становлюсь хакером всевозможной электроники, но днём работаю разработчиком ПО. В основном моя работа заключается в сидении весь день за компьютером, вводе кода, отладке и т.п. Вероятно, вы могли догадаться, что основным устройством для написания всего этого кода является клавиатура.
Разумеется, жизнь большинства клавиатур не вечна. (Хотя я сильно подозреваю, что моя домашняя IBM Model M практически бессмертна.) Однажды я заметил, что клавиша Shift моей рабочей клавиатуры начала отказывать. Из-за этого мои электронные письма начали выглядеть более ленивыми, а в коде воцарился хаос, поэтому мне понадобилась новая клавиатура. Старая клавиатура была вполне неплохой, но в целом довольно стандартным устройством с резиновыми прокладками переключателей, поэтому у меня появилась неплохая возможность взять что-нибудь получше, например, механическую клавиатуру.
Я вышел в Интернет и поискал хорошую клавиатуру. Я хотел что-нибудь с механическими переключателями Cherry Brown, потому что, скорее всего, никого бы не обрадовал громкими Cherry Blue. Довольно полезным было бы отсутствие лишних десяти клавиш (цифровой клавиатуры справа), потому что я всё равно ими не пользуюсь и это уменьшило бы расстояние, на которое нужно перемещаться моей руке к трекболу.
Самой дешёвой клавиатурой, удовлетворяющей всем этим требованиям, оказалось устройство с довольно длинным названием: Coolermaster Quickfire Rapid-I.Читать полностью »
Excel как транслятор в ассемблер AVR
2020-11-06 в 22:56, admin, рубрики: avr, блок-схемы, ненормальное программирование, Программирование, программирование микроконтроллеровПредпосылки
Ряд статей (раз, два, три) навел на мысли о том, что Excel можно использовать как транслятор в ассемблерный код AVR.
Читать полностью »
Самый маленький офисный пакет в мире
2020-10-14 в 8:45, admin, рубрики: awfice, github, Google Docs, microsoft office, Блог компании VDSina.ru — хостинг серверов, ненормальное программирование, офисный пакет, Софт
Всем нам знаком традиционный офисный пакет — текстовый редактор, электронные таблицы, программа для создания презентаций, возможно, приложение для создания диаграмм или заметок. Всё это мы видим в Microsoft Office и в Google Docs. Все эти программы мощны и объёмны. Но каким будет минимальное количество кода, требуемое для создания офисного пакета?
Читать полностью »