Pull to refresh

Comments 144

сигнал идет до земли 14 часов
надо этому зонду РЕЗКО одним пакетом

Поздно будет пить боржоми делать резкие движения :)

по теме — может быть будут применения, но чем дальше, тем дороже оптимизировать код vs увеличить обьем/скорость железа.

ЗЫ. NASA работает над протоколами для космической связи, толерантными к задержкам и множественностью путей. Кому-то повезет делать upgrade на вояджере :)))) или соседей попросим.
ну в таких масштабах — 14 часов это и правда резко :)
UFO just landed and posted this here
Как известно, апгрейдами Вояджеров занимается Говард Воловиц ;)
хорошо, что на Вояждере нет туалета… ))
хорошо, что на вояджере нет мясных рулетиков!
Ну что за бред про революцию. Вы видно до этого никогда 256 байт интро не видели. И кстати в России есть демокодер Digimind, который делает не хуже, а даже и лучше :) pouet.net/groups.php?which=1941
Посмотри внимательно как голосуют сценеры на Pouet — Tube от Baze который до этого был эталоном 256 byte через пару суток будет смещен с своих позиций которы он держал с 2000 г.
UFO just landed and posted this here
под вайном работает, класс!
На асме оно и без вайна работать будет, думаю.
Под линуксом только «экзешники» (или правильно будет «эльфешники»? :) и нет аналога «комовских» выполнимых файлов?
А если файл загрузить в память и передать на него управление?
Или линукс не даёт напрямую обращаться к видеопамяти? А если из-под рута?

Просто интересно, как оно там, под линуксом. Под досом-то можно было делать, что хочешь.
Ассемблер, как правило, специфичен для конкретной архитектуры, операционной системы и варианта синтаксиса языка, поэтому 99%, что без вайна не запустится. Данная демка скорее всего написана на MASM (код не смотрел).
В линуксе нет прямого обращения к железу, только через ядро, даже из-под рута.
А ещё под линуксом — защищенный режим :)
а если записать этот код в загрузчик? т.е. до защищённого режима
Ну запишите :) — если он не использует функций DOS — работать будет.
он там вызывает всего одно прерывание int 10h — это же, вроде, обращение к диску?
под рукой нет ни hiew, ни турбодебаггера, только Zend Studio.

если этот чех в 256 байт кроме демки ещё и вирусяку впихнул, то он однозначно гений :)
Там в архиве есть исходник — поищите в нем вирус :-)

Демосцена и вирусы все же разные понятия при сходных методах. Не пугайте юзернеймов.
Да, 10h нужен для установки 320x200x256 ;)
Это смена видео режима
Под линуксом бинарники, или полученные исходники, из которых вы сами себе компилите софт.
Будет, использую dosbox и смотрю com
Под досбоксом должно, но не проверял
один кадр прорисовывается минуту
Ну тогда чистый дос на спасёт.
DOSBox народ не рекомендует для нее. Рекомендуют VirtualBox или VirtualPC, но их надо настраивать. Проще запускать виндовый вариант.

Download a virtual machine (VirtualBox (intel) or VirtualPC (amd or older) ) and install ms-dos on it. It will run really faster than dosbox (almost same speed as guest cpu).
I know it requires a little more tweaking than DOSBox at first (specially if you want to use a soundcard) but once you have created and configurated your virtual machine its really easy to use. also: all of these products are free.
Запустил на ноуте под чистым досом — тормозит. По чувству, 10 fps где-то. Ноут вроде не слабый, c2d T5600, 1,8Ghz.

Как запускал — habrahabr.ru/blogs/linux/68998/
а puls4x1.com как себя ведет? он должен работать быстрее.

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

На самом деле windows версия действительно более менее нормально запускается (я предупреждал о проблемах с DOS версией). Смотрите ее и просто апроскимируйте в голове что это 512 байт.
Всё, запустилось под wine (-:
Windows-версия отлично запускается под Windows 7 x64 с правами пользователя. Не пугайте народ, пусть насладятся.
> заодно заставляет задуматься, насколько много ресурсов поедает ОС (сравнив размеры кода под DOS и Windows).
Ну что за глупость? Даже если оставить в стороне вопросы выравнивания и PE-заголовков, то как вообще размер файла коррелирует с ресурсами, поедаемыми ОС?
размер файла чем не ресурс?
В наш век, когда головки жестких дисков бороздят терабайтовые просторы, размер экзешника как раз-таки имеет меньше значения, чем остальные ресурсы.
«головки жестких дисков бороздят терабайтовые просторы» — предсмертная агония винта.
но сказал красиво…
Экзешник же не зря будет занимать больше места.

Больше места — больше кода, больше отхапывает оперативки при загрузке и тыды. Все взаимозависимо.
Размер файла — ничем не ресурс ОС.
Это просто константа (в случае исполняемого файла — специфичная для конкретного исходного кода и конкретного компилятора).
Винты — это долговременная память, а память — вполне себе ресурс.
/* а так же запуске программы визуального приветствия жителей других галактик */

офигенное приветствие. инопланетяне мигом впадут в транс — и тут их тёпленькими только и бери :)
UFO just landed and posted this here
Да это понятно, вся хитрость пихнуть это в 256 байт.
Не хотел идти на поводу и оставил внезапно только в тегах. Однако раз уж вы настаиваете :-)
Ай, не надо ссылок на луркмор! В прошлый раз когда мне попалась, я потратил 2 часа жизни >_< Ну вот и опять…
Нда, я думал меньше 4 КБ демок не бывает. Ждем двухбайтовой =)
Посмотри на страницу автора в разделе download — там есть игра в 32 байта как вариант.
двухбайтовая — это перезагрузка =) и все
Минимум вроде бы 128 байт.

Вот одна из самых красивых 128 байтных (особенно в плане кода) демок:

di-halt.livejournal.com/91424.html

Там в комментах я еще расписывал алгоритм по которому оно все работает.
Шикарно, да.

Не первый год уже собираюсь съездить на фестиваль демосцены Assembly, в Финляндию. Надо делегацию от Хабрахабра отправить =)
Под вистой запускается и Дос, и Виндовс-версия.
Версии с высоким разрешением идут с низким фпс-ом. С низким разрешением — с высоким фпс-ом.
Интересно было бы посчитать затраты человекочасов на байт кода. ;)

… тогда бы стала яснее принципиальная бессмысленность такого кодирования. Никакой вояджер не спасет.
Метрика человекочасов на байт кода отлично подходит когда надо раздуть смету проекта и выиграть тендор :-)

Я не агитирую за asm и демосцену в реальной жизни — это Art и Fun в чистом виде. Однако результаты иногда заставляют задуматься.
Да, задуматься о том, на что уходят годы жизни.
Я так понял ты у нас мультимиллиардер и с виллы на Канарах пишешь?
Как нет?
Ну, это не мерило успешности. Скучно там, на Канарах…
«Скучно» это оправдание для себя тем, у кого нет виллы ;)
Нормально там. Особенно когда интернет есть, а в нем хабр. ;)
Ну что ж, кому как :)
Если без дураков — в инете неоднократно пробегали статьи (по-моему, и на хабре было), что можно продать какую-нибудь двушку-трёшку в крупном городе у нас и переехать в виллу на Гоа, где будет инет и хабр ;)

Ждём массового исхода!
Продавать не надо. При нынешних ценах на сдачу жилья в Москве для жизни на Гоа хватает даже сдачи однушки. А на проданную 2-3 квартиру можно построить роскошный дом и замутить неслабый бизнес.
Если кого-то это прет.
Ну практически… ;)
Ну да, ну да. Годаздо лучше тупить на Хабре, Вконтакте и прочих жежешечках, чем оттачивать свое мастерство в программировании.
«Лучшая смена деятельности — отдых!» (с)
Один древнегречский персонаж — царь Сизиф, помнится, тоже очень много времени посвятил оттачиванию мастерства вкатывания камня на гору. ;)

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

Мда… Если уж передергивать — то от души!

О чём задуматься? Вот мне только в голову приходит, что да, данную конкретную интруху можно запихать в данный конкретный объём. Дальше этого мысль не простирается :)
UFO just landed and posted this here
Так мы это так и рассмотриваем, это автор поста начал зачем-то ВНЕЗАПНО придумывать этому какие-то из… пальца сосанные примеры практической применимости.
Эти примеры немного не для аудитории Хабра — точнее не для подавляющего количества людей. Они для простых юзернеймов которые знают что в байте 8 бит, а буквы можно написать в Word и отправить письмо через Outlook в соседний кабинет.

Типичному читателю Хабра разжовывать не надо — он по первому абзацу все поймет, а по ссылкам найдет искомое.
ну положим с смс-кой сравнивать некорректно, все таки такие демки упаковывают UPX или чем нибудь подобным, поэтому реальный размер байткода, который разворачивается в память, выше в 2-5 раз.
Посмотрите в исходный код.

ТАКИЕ демки как раз ничем не упаковываются. У них просто исполняемый код настолько же сильный и комплексный, как старый добрый русский мат.
Виндовые версии упакованы (кроме scr-варианта).
UFO just landed and posted this here
Код самого упаковщика будет больше чем демка из поста.
Установил на XP-машину на работе в качестве скринсейвера, а то задолбали скринсейверы из которых потом комп секунд 30 тормозит выходя =)
А ресурсы-то здорово кушаются, причем центрального процессора. Температура не растет?
сентябрь месяц. он помещение обогревает
Какое непродуктивное использование энергоресурсов…
И как тут ужать UPX если сам распаковщик кучу места занимает, да и обычно в данных демках код генерируется на лету. Занимался на Z80 демомейкингом, писал в 128 и 256 байт эффектики небольшие, которые разворачивались на всю память компа и код исходной демки крайне тяжко ужимался.
Она пятисекундная?
Нет она зацикленная. На тытрубе просто один цикл показан. По хорошему надо видео сделать на 1-2 минуты чтобы было понятнее.
ну а сколько ещё можно ожидать от 256 байт!
Хохо! Там в архиве скринсейвер!
Спасибо )
Сэйвить он будет скрин, но не пауэр. Проца много жрет.
А под какой она проц? illegal instruction пишет.
У него к сожалению требований нигде ненаписано. На Celeron M точно работает. Может быть какие то проблемы с AMD?
Так и запишите: на Taulantin не работает.
Кто тут хотел видео?

webfile.ru/3900296
(2.7 Mb)

Комп правда слабоват для каптюринга с экрана, в реале все плавно и красиво.
Видео в OGG? Я похоже отстал от современных тенденций. Спасибо, посмотрим…
300 бод для Вояджера многовато. Скорость обмена данными с аппаратом «Новые горизонты», запущенного в 2007 году, когда он достигнет Плутона в 2015 году, составит 768 бод.
Супер! Наконец то подтянулись эксперты по космосу, а то я 300 бод эмпирически написал не найдя информации быстрым гуглением.
Да, с ютуба видео точно не посмотришь
UFO just landed and posted this here
UFO just landed and posted this here
Данная тема в очередной раз натолкнула меня на определённые размышления в продолжение вот этих топиков. Помимо ОС я также краем уха слышал о том, что некоторые умельцы частично переписывают некоторые игры на «ассемблере» (по-моему, это были несколько уровней в Думе). И всё это весит и «кушает» сущие копейки. Так вот, будучи человеком очень далёким от программирования, прошу разъяснить сведущих людей некоторые моменты (заранее извиняюсь за возможные некорректные высказывания или термины).

Я понимаю, что написание на «ассемблере» гораздо трудозатратнее, но совершенно не представляю насколько. Мне было бы интересно сравнение написания таких программ как Notepad, Firefox и, например, игры «Ведьмак», на том языке, на котором они существуют, и «ассемблере». Я имею ввиду именно сравнение количества программистов и временного отрезка. Также хочу узнать, какие трудности помимо времени препятствуют развитию данной «технологии».

Ну и на последок, есть ли какое-то реальное будущее у подобного пути развития, если верить в тот факт, что увеличение производительности железа не безгранично, а также учитывая возникающие проблемы с энергосбережением и т.п.
Дело в том, что как показывает практика разработки ПО, скорость разработки прямо зависит от количества строк в программе, причем зависимость от языка программирования довольно незначительна. Иначе говоря, если программа А занимает по 1000 строк, будучи написанной на языке X и Y, то трудозатраты на разработку будет примерно одинаковыми.

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

Понятно, что на ассемблере можно делать макросы и т.п., что сокращает время на разработку, и порой существенно, но в конечном итоге это еще один способ сокращения кол-ва строк, делая ассемблер более «высокоуровневым».
У языка программирования есть такой относительный параметр как лаконичность.
Выражается средним числом строк на ассемблере эквивалентным 1 строке на каком-то другом языке программирования.
ассемблер = 1 (одна строка на асме = 1 строка на асме)
Си = 4
С++ = 6 (это на вскидку, я чисел точных не помню)
Чем больше — тем меньше строк занимает программа (но от этого она меньше памяти занимать не будет) ее текст легче воспринимать, работать с ним
Вот и вся разница в трудоемкости
Как-то не особо понятно про строчки :)
Какая-нибудь строчка типа:
std::copy(sl.begin(), sl.end(), std::ostream_iterator<std::complex>(std::cout, " "));
Займёт довольно много строчек на си и уж уйму на аммеблере.
Выражается СРЕДНИМ числом строк. А различного рода надстройки в виде библиотек и фрэймворков для того и нужны, чтобы эту лаконичность еще улучшить.
А приведенный вами пример — да, целая большая куча асма :) Целый алгоритм
ой, сории, я что-то криво прочитал :)) Всё правильно.
Был сайт такой 256b.com, но он куда-то улетучился, подобных цикличных 3D эффектов было несколько штук, плюс куча всего интересного сверх того, типа игр в 256 байт. Все это было с исходниками. Но, это очень круто. Одно дело написать пламя или плазму и уложиться в те же 256 байт, а другое дело вот это! :)
Огромное спасибо за ссылку.
Однако уже упомянутый pouet.net/ гораздо актуальнее — заходите в Production, выбирайте платформу и тип релиза.
Спасибо, pouet.net знаю уже давно.
Но, таки, тот ресурс специализировался на 256b под DOS.
Для контраста: сейчас, снеся лиц. неро для того чтоб поставить CDXPBurner (просто для записи дисков) пришлось ставить DotNet метров 200 загадивший диск…
Слышал где-то что в пиндосии если ваша программа мало занимает и ставится менее 10 минут — коммерческого интереса вызывать не будет и продажи будут идти плохо...(типа что мол программа может если она за 2 секунды ставится) увы.
Давайте сравним еще функциональность дотнета и этой несчастной демы на 256 байт. Для контраста.
Угу, только дотнет боюсь что за 256байт даже пиксель на экран не выведет…
Выведет. На дотнете вообще можно картинки напрямую в памяти рисовать, без всякого unsafe. На CodeProject пример есть.
Попробуйте Small CD Writer. Занимает ~400 КБ и не требует многомегабайтных зависимостей.
Вид сабжа напоминает внутренности какого-то наноассемблера. Вот, кстати, еще одна потенциальная сфера применения подобного микронанокода:) — девайсы, в которых по определению функционал должен быть минимальным.
Дык ставишь в дивайс линукс, а на него — скрипт в четыре строчки.
Что любопытно, исходник на асме тоже 256 строк.
О_о

Он юзал в основном только однобайтные команды?
UFO just landed and posted this here
Да это были хорошие работы, но… не революционные (в отличии от топика) и к сожалению они были вне конкуренции на пати, что не менее печально.
Обязательно есть. Особенно в досовом 256 байтном .com файле
Кто знает что этот вундеркинд туда смог запихнуть :)
Миллионы хабраюзеров не могут ошибаться.
Боитесь кода — смотрите видео.
rrrola.wz.cz/ — сайт чувачка доставляет
котенок няшка =)))
Мазафака!!! КАК ОНО ТАК???

Я неплохо знаю асм и его возможности, но это у меня в башке не укладвается…

/*убежал курить исходники… Похоже скоро у меня будет приход, как в свое время был после раскуривания алгортимов 128байтной интры X.com
… прочитал как «128байтной ИГРЫ X.com» — аж закалдырился… :)
Парень очень крут.
Интересно, какую машину смерти он мог бы написать в Core Wars :-)
Поставил себе в качестве скринсэйвера :)
Sign up to leave a comment.

Articles