войти зарегистрироваться

Ненормальное программированиеСоздание 1k/4k intro для Linux, часть 1

«на русской сцене мы удивляем друг друга тем, что вообще что-то делаем», © manwe
(из статуса SCRIMERS на demoscene.ru/forum/)

Пятиминутка мета: в этом тексте вам, котятки, предстоит прочитать о том, как потратить свое время совершенно неэффективно с точки зрения отношения размера полученного продукта к потраченным времени и усилиям.
Предположим, что мы хотим сделать что-нибудь эдакое, например, интру размером до 4кб, но мы нищеброды, и у нас нет денег на виндовс и видеокарту с шейдерами, поддерживающими ветвления. Или мы просто не хотим брать стандартный набор из apack/crinkler/sonant/4klang/боже-что-там-еще-есть, делать очередную «смотрите все! я тоже умею рэймарчинг дистанс филдс!» и теряться среди десятков-сотен таких же. Ну или же мы просто любим выпендриваться как попало в надежде, что девочки на нас наконец-то обратят внимание.

В общем, не важно. Пусть у нас просто есть какой-нибудь линукс со слабой видеокартой и вся юность впереди. Попробуем со всем этим теперь создать запускаемый файл размером не более, скажем, 1024 байт, который при запуске умудрялся бы каким-нибудь образом создавать и показывать пользователю что-нибудь (эдакое).



ДемосценаPuls — революция в 256 byte intro

Прошедший в конце августа Chaos Constructions 2009 в Питере, к сожалению, не порадовал нас революционными релизами. Однако зарубежные братья демосценеры не дремлют!

image

Буквально на прошлой неделе на Riverwash 2009 простой чешский парень Jan Kadlec (aka Řrřola) забомбил PC 256 byte intro которое установило новый мировой порядок. Имя ему — Puls.

Итак речь идет о куске машинного кода в 256 байт для Intel x86 совместимой машины. Работает он под DOS, совершенно равнодушен к 3D возможностям вашей видеокарты и объемам установленного ОЗУ, но не откажется от быстрого CPU. Код генерирует динамическую визуальную сцену используя базовые возможности Intel архитектуры и стандартного видеорежима.
Версия под DOS «с трудом» заработает под Vista, 7 и XP, выдавая низкий fps – операционная система не дает напрямую использовать аппаратные ресурсы. Поэтому есть смысл смотреть адаптированную под Windows версию (которая занимает уже несколько килобайт). Она как бы намекает нам «насколько много ресурсов поедает ОС» (сравните размеры кода под DOS и Windows).

Собственно, надеюсь, у всех есть понимание что такое 256 байт в масштабах хотя бы текста SMS сообщения, и как в таком объеме можно уместить этот движняк для многих остается непонятным. При этом рядом исходник на ассемблере который заставляет уверовать.

Обычно в этом месте обыватель задает вопрос: “Здорово! А как мы это можем использовать?”

Отвечаю примером для 9-го класса:

PrologProlog, введение

Довольно оживленное обсуждение предыдущей стати (http://habrahabr.ru/blogs/programming/47416/) показало, что тема пролога оказалась интересна сообществу.
Чтобы заинтересовать еще более читателя и вместе с тем облегчить ему начало работы с этим языком, я решил написать немного начальных данных о прологе.

Кратко основные особенности.

MicrosoftО блоге или «всем привет!»

Всем привет!

Я, на всякий случай, сразу представлюсь. Меня зовут Константин Кичинский, я работаю в компании Microsoft Россия, или, как мы иногда ее зовем, ООО «Майкрософт Рус», в академической группе.

О чем будет данный блог?

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

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

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

P.S. Мы не будем писать о том,
  • чем Vista Windows 7 лучше Linux или Mac OS X (а также других замечательных операционных систем),
  • чем IE 8 лучше Firefox, Opera или Safari (а также других замечательных браузеров),
  • чем Silverlight лучше Flash или Java FX (а также других замечательных решений для RIA),
  • чем Virtual PC и Hyper-V лучше Vmware (а также других замечательных средств виртуализации),
  • чем WPF и DirectX лучше QT и OpenGL (а также других замечательных графических библиотек),
  • чем Xbox 360 лучше Wii или PS3 (а также других замечательных игровых консолей),