Pull to refresh

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

Reading time 1 min
Views 688
IT-companies
Всем привет!

Я, на всякий случай, сразу представлюсь. Меня зовут Константин Кичинский, я работаю в компании 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 (а также других замечательных игровых консолей),
Total votes 233: ↑144 and ↓89 +55
Comments 346

Prolog, введение

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

Кратко основные особенности.
Читать дальше →
Total votes 78: ↑64 and ↓14 +50
Comments 41

Puls — революция в 256 byte intro

Reading time 3 min
Views 6.9K
Assembler *Demoscene
Прошедший в конце августа 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-го класса:
Читать дальше →
Total votes 116: ↑111 and ↓5 +106
Comments 144

Создание 1k/4k intro для Linux, часть 1

Reading time 10 min
Views 8.8K
Abnormal programming *
«на русской сцене мы удивляем друг друга тем, что вообще что-то делаем», © manwe
(из статуса SCRIMERS на demoscene.ru/forum)

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

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



омг сколько текста
Total votes 192: ↑183 and ↓9 +174
Comments 54

Демо, которых никто никогда не видел

Reading time 3 min
Views 13K
Demoscene
Sandbox
Скажу сразу, что я не являюсь демомейкером, сценером или даже программистом, поэтому мое мнение — это всего лишь мое мнение. Я, так сказать, «любитель» что-ли.

Расскажу как «это» было у меня. Начинал я с советского полу-IBM совместимого компьютера «Поиск». Конфа: аналог i8088 процессора, CGA монитор. Начал «программировать» с batch-файлов (.BAT) ибо была книжка по MS-DOS и дискетка с этим самым MS-DOS. Никаких бейсиков, ассемблеров, паскалей или, тем более, си в помине не было, и переписать их откуда-то то же не было возможности. Потому как у всех остальных школьников тогда был минимум — китайский тетрис а как максимум — Dendy, в качестве высшего достижения компьютерной индустрии.
Читать дальше →
Total votes 212: ↑198 and ↓14 +184
Comments 90

Scene #27

Reading time 1 min
Views 887
Demoscene
Новый, 27-ой выпуск видеоподкаста SCENE посвящён русской демогруппе Quite: Unc и Preston раскрывают секреты создания 4-килобайтных шедевров.

image

Смотреть на scene.rpod.ru/271864.html

скачать можно отсюда (800мб, высокое качество): ftp.valet2.com/manwe/scene27.mov

www.demoscene.ru (с)
Total votes 5: ↑4 and ↓1 +3
Comments 1

Создание 1k/4k intro для Linux, часть 2

Reading time 23 min
Views 8K
Abnormal programming *
Не прошло и полгода! Как вы можете, поднапрягшись, вспомнить, в прошлый раз мы остановились на унынии и обещании нырнуть в ассемблер.
Ну что же, пацан сказал — пацан сделал. Из этого аляповатого нагромождения букв вы узнаете, как можно инициализировать OpenGL-контекст в GNU/Linux в какие-то 450 байт, высвободив ещё больше места для разворачивания таланта.

Под катом вы узнаете, как в один килобайт нарисовать что-нибудь такое:


Заинтересованные пристёгиваются и вдавливают педаль в пол, а глаз — в экран.
Читать дальше →
Total votes 117: ↑109 and ↓8 +101
Comments 19

Как мы создавали вступительный ролик для игры Vector

Reading time 2 min
Views 17K
Nekki corporate blog Working with 3D-graphics *
Сегодня мы хотим рассказать вам о создании интро-ролика для нашей игры про паркур Vector — покажем раскадровку, аниматик и расскажем прочие подробности этого увлекательного процесса.

image
Читать дальше →
Total votes 49: ↑42 and ↓7 +35
Comments 33

Как мы делали ролик для Shadow Fight 2

Reading time 2 min
Views 35K
Nekki corporate blog Working with 3D-graphics *
Мы сделали ролик для нашей новой игры Shadow Fight 2 и хотим рассказать о его создании. О ролике к игре Vector мы недавно рассказали, но совсем немного. В этот раз полезной информации будет больше и картинок тоже :)

image
Читать дальше →
Total votes 2: ↑1 and ↓1 0
Comments 2

Архитектура и программирование компьютера Texas Instruments TI-99/4a

Reading time 24 min
Views 8.1K
Abnormal programming *Assembler *Demoscene Old hardware
Компьютер Texas Instruments TI-99/4a почти неизвестен за пределами США, однако он был там весьма популярен (выпущено более двух миллионов машин). Хотя этот компьютер создавался как домашний, существенной особенностью (во многом определившей его архитектуру, а затем и судьбу) было то, что за основу был взяли уже существовавший серьёзный мини-компьютер TI-990, собранный на обычной ТТЛ логике. Фактически, микропроцессор TMS9900 в компьютере TI99/4A является реализацией TI-990, но в виде чипа. TI-990 был выпущен в 1975 году, а TMS9900 в 1976 году.

Таким образом, TI99/4a (в 1979 был выпущен чуть более простой TI-99/4, а в 1981 уже TI-99/4a) получил в наследство крайне странную, для домашних компьютеров, архитектуру. Во-первых, микропроцессор TMS9900 в нём 16-разрядный — с честной 16-разрядной шиной данных (это в конце 1970-х!). Во-вторых, на чипе нет регистров (кроме PC, флагов и указателя «регистров» WP). То, что можно назвать регистрами, находится в отдельной микросхеме 16-разрядного статического ОЗУ размером 256 байт и может адресоваться одновременно как память и (первые 16 слов) как регистры R0..R15. Называется это «scratchpad».
Аппаратного стека нет, вместо этого сохранение значений при вызове подпрограмм осуществляется изменением указателя начала регистров WP в этом самом ОЗУ (напоминает регистровые окна в Sparc'ах). В предке (TI-990) это также использовалось для переключения контекста при реализации многозадачности.
Хотя тактовая частота TMS9900 — 3 МГц, инструкции занимают довольно много тактов — не менее 8. При этом реализовано даже умножение и деление (124 такта).
Читать дальше →
Total votes 43: ↑43 and ↓0 +43
Comments 11

Архитектура и программирование компьютера Vectrex

Reading time 31 min
Views 15K
Abnormal programming *Assembler *Demoscene Old hardware
— А видеовыход у него есть?
— И как ты себе это представляешь?
(из разговора о Vectrex)


Vectrex выпускался GCE в 1982 — 1983 гг. и представляет собой игровой компьютер (приставку) ключевая особенность которой, векторный дисплей, делает его одним из самых необычных и интересных 8-разрядных компьютеров. С некоторой натяжкой можно сказать, что он является упрощённой версией векторных игровых автоматов Cinematronics, технически более совершенных.

В качестве процессора в Vectrex используется Motorola 6809 — он похож на MOS 6502/6510, но добавлены 16-битные регистры, дополнительные режимы адресации, умножение.
Тактовая частота — 1.5MHz.

Поскольку компьютер был выпущен как игровая приставка и игры для него продавались на картриджах, программа размещается в ПЗУ картриджа (32 кб), а ОЗУ — совсем крохотное (1 кб — две штуки 2114) и предназначено больше для данных.

Также есть встроенное ПЗУ с BIOS'ом (8 кб — одна 2363), который включает набор подпрограмм для рисования векторов и вывода текста, несколько примитивных мелодий и даже одну игру — Minestorm (многим известную как Asteroids).
Читать дальше →
Total votes 55: ↑50 and ↓5 +45
Comments 8

Архитектура и программирование Philips Videopac (Magnavox Odyssey 2)

Reading time 7 min
Views 5.6K
Abnormal programming *Assembler *Demoscene Old hardware
«Hardware is just software crystallized early»
— Alan Kay


Компьютер Magnavox Odyssey 2 (Videopac) появился в 1978 году и позиционировался как игровой, однако с возможностью более серьёзного применения (для чего у него имелась встроенная плёночная клавиатура). Серьёзных приложений, учитывая назначительный объём памяти, было очень мало, так что, по факту, правильнее считать Videopac игровой приставкой.

Что касается названий, Magnavox Odyssey 2 продавался в США и выдавал NTSC видеосигнал (через RF выход). Philips Videopac G7000 (он же C52) продавался в Европе, соответственно, с PAL видео. Кроме этого различия (которое, разумеется, влияло на работоспособность части игр) компьютеры совершенно одинаковые.

Videopac был одной из первых игровых приставок, для которой игры выпускались в виде картриджей с программами. Поэтому ничего удивительного, что и технически это устройство весьма аскетично.
Читать дальше →
Total votes 32: ↑31 and ↓1 +30
Comments 0

Архитектура и программирование RCA Studio II

Reading time 12 min
Views 6.7K
Abnormal programming *Assembler *Demoscene Old hardware

«Finally, we come to the instruction we've all been waiting for – SEX!»
/ из статьи про микропроцессор CDP1802 /




В начале 1970-х в США были весьма популярны простые электронные игры типа Pong (в СССР их аналоги появились в продаже через 5-10 лет). Как правило, такие игры не имели микропроцессора и памяти в современном понимании этих слов, а строились на жёсткой логике. Соответственно, сменные картриджи не имели особого смысла, а там где они были — представляли собой просто набор перемычек, включающих нужную игру.

В 1977 году были почти одновременно выпущены две консоли: Fairchild Channel F и RCA Studio II. Это были первые игровые приставки в виде полноценных компьютеров — с микропроцессором и программами на сменных картриджах.
Приставка RCA Studio II, о которой пойдёт речь, является разработкой не столько фирмы RCA, сколько конкретного человека — Joseph A. Weisbecker (как и вся архитектура COSMAC).
Total votes 38: ↑38 and ↓0 +38
Comments 6

Архитектура и программирование Fairchild Channel F

Reading time 10 min
Views 5.5K
Abnormal programming *Assembler *Demoscene Old hardware
«Channel F homebrew would be like programming sprites via hardware jumpers...»
/ chadtower, atariage forum /




Игровая приставка Fairchild Channel F, также известная как VES, появилась в ноябре 1976 года. В отличие от своих предшественников типа Ping-Pong, Tennis (в том же ряду — советский «Видеоспорт»), у неё было очень существенное отличие — наличие микропроцессора и картриджей с программами. До этого игры в приставках реализовывались на жёсткой логике — программа, в современном понимании, там отсутствовала.

Fairchild Channel F выпускалась вплоть до 1983 года. За это время было продано более четверти миллиона этих приставок и выпущено около 30-40 игр, некоторые из которых — уже в 2000-х годах.

Говоря о первенстве в плане использования микропроцессора стоит отметить, что RCA Studio II, о которой я рассказывал в прошлой статье, опоздала всего на пару месяцев, но оказалась существенно слабее Channel F, ввиду чего и провалилась по продажам. Впрочем, появление, менее чем через год, Atari VCS — вытеснило с рынка и Channel F.

Развития Fairchild_Channel_F, как такового, не было. В System II и нескольких клонах, типа Saba Videoplay 2 (1979), отличия состояли преимущественно в корпусе, джойстиках (кстати, все они понимали кроме обычных положений ещё и поворот ручки) и количестве микросхем. Архитектурно всё было практически идентично.

Что же собой представляет Channel F?
Total votes 52: ↑50 and ↓2 +48
Comments 10

Как сделать пошаговый гайд вашего приложения (если ваш проект на Angular)

Reading time 5 min
Views 4.5K
Website development *JavaScript *Programming *Angular *
Tutorial
Всем привет.

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

В интернетах очень много готовых решений — все они безусловно могут подойти для этой задачи, но мы посмотрим как это сделать самостоятельно.
Читать дальше →
Total votes 4: ↑4 and ↓0 +4
Comments 0

#00 — И целого байта мало… | Приглашение на Revision Online 2020

Reading time 3 min
Views 2.3K
Assembler *Conferences Demoscene
Дамы, господа, как бодрость духа?

От лица =RMDA= приглашаю вас на Revision Online 2020. Как вы отлично знаете, коронавирус лютует, отменены не только крупные мировые конференции, но даже крошечные мероприятия вокруг демосцены по всей Европе (Forever, Speccy.pl и многие другие). Ребята из команды Revision две недели боролись с муниципалитетом микроскопического городка в Германии, но не смогли отстоять право на проведение демопати. Они решили сделать мероприятие онлайн.

С 10 по 14 апреля, 72 часа непрерывного онлайн-потока по всем платформам и аспектам демосцены ждут вас! Все тут: 2020.revision-party.net

Мы активно участвуем в организации Revision Online 2020 и уже выпустили первую работу по теме: Revitro, 256 bytes intro, PC, x86

Total votes 16: ↑14 and ↓2 +12
Comments 6

#01 — И целого байта мало… | Какими бывают intro?

Reading time 3 min
Views 14K
Assembler *History of IT Demoscene
Дамы, господа, сегодня отличный день!

Скорее всего вы помните, что существует такая форма компьютерного искусства как «демосцена», но если слышите это слово впервые — просто прочитайте тематический хаб и теги на Хабре, а также пару популярных статей по этому вопросу.

image

Одной из форм соревнования на демосцене является sizecoding — программирование визуальных эффектов в крайне ограниченном объеме машинного кода. Прежде чем мы перейдем к достижениям сегодняшнего дня (а они есть и более чем масштабные), давайте очень быстро пробежимся по наследию дедов. Все приведенные ниже работы сделаны в разные годы, объединяет их требование к платформе — PC, x86, DOS (никакого GPU, обычная видеокарта). В идеале вам стоит поставить DosBox и запускать каждую работу самостоятельно, благо авторы не особенно озадачиваются созданием видео и загрузкой его на YouTube. Мы постарались выбрать по одной показательной работе в каждой номинации.
Total votes 43: ↑41 and ↓2 +39
Comments 66

#02 — И целого байта мало… | The Cross of Changes

Reading time 4 min
Views 11K
Assembler *Reverse engineering *Demoscene
Честь по чести и часть за частью. Примерно так мы будем погружаться с вами в увлекательный мир демосцены. Сегодня поговорим о конкретной работе в области sizecoding. Дело в том, что некоторые релизы не только имели культовый статус в узких кругах — они прямо и явно воздействовали на умы людей, заставляя учить IDA Pro, смотреть код, проникать во все мельчайшие детали. Было просто непонятно и очень интересно, как же такая магия работает.

Речь идет о cross by Queue Members Group — 128 байт интро для PC из далекого 1996 года:

image

Вот видеозапись работы:



Total votes 43: ↑41 and ↓2 +39
Comments 62

#03 — И целого байта мало… | 2B or not 2B

Reading time 5 min
Views 5.9K
Assembler *Demoscene
Итак, друзья, 1-е апреля прошло, пора раскрывать карты, что же такое "2B or not 2B" на самом деле. Это совместный текст от автора работы jin_x и уже знакомого вам деда unbeliever

image

Обязательно скачайте архив с работой на Pouet и прочитайте вводную (первоапрельскую) статью, а так же комментарии к ней. Посмотрите первое видео с практической демонстрацией того, как работает код из «двух байт» на x86. И вот уже потом попробуйте осилить весь текст ниже.


Да, 2B or not 2B — это действительно среда для запуска различных sizecoding-работ, очень простая и, пожалуй, самая маленькая из существующих. При этом она имеет свои требования и ограничения.

Если кто-то ещё не уловил, тул 2b.com запускается из-под DOS (DOSBox, FreeDOS, MS-DOS) и осуществляет прыжок в область командной строки (по смещению $82* сегмента PSP), запуская на исполнение код, который передан в командной строке в двоичном виде. Собственно говоря, код этот вполне может иметь вид строки, которую можно набрать на клавиатуре (т.е. состоять из ASCII-символов с кодами от 33 до 126), но об этом немного позже.
Total votes 20: ↑20 and ↓0 +20
Comments 14

#04 — И целого байта мало… | Берем БК за рога

Reading time 5 min
Views 3.6K
Demoscene
На прошлой неделе =RMDA= выпустила свой первый релиз для легендарного советского компьютера «Электроника БК-0011М» и я хочу рассказать вам некоторые подробности. Вот сама работа: Gift 2020

image

Это gift — такой тип поздравительных intro, обычно приуроченных к Дням Рождения. Так получилось, что к моменту завершения работы у двух видных деятелей российской демосцены синхронно случился день рождения, и мы решили немного переформатировать этот релиз в гифт, чтобы все остались довольны. В остальном, перед нами обычное intro/demo, никак не связанное с ограничениями по размерам.
Total votes 17: ↑16 and ↓1 +15
Comments 26
1