Search
Write a publication
Pull to refresh
0
Алексей @0x414cread⁠-⁠only

Пользователь

Send message

История создания X-COM: Enemy Unknown (1993)

Reading time6 min
Views46K
В прошлом году вышел ремейк игры 1993 года XCOM: Enemy Unknown на PC, MAC, XBox 360 и Playstation 3, а в июне этого года ещё и на iPhone и iPad. Историю её создания можно проследить со времени появления первого поколения домашних компьютеров, которое совпало с пиком популярности стратегических и ролевых настольных игр. Почти для любого военного конфликта в истории человечества существовала соответствующая военная игра, а игры в жанре фэнтези выходили далеко за рамки ролевой игры «Dungeons & Dragons»: были также и приключения в глубоком космосе, такие как «Traveller» и даже игры, главными героями которых были адаптированные персонажи литературных произведений, такие как, например, «John Carter of Mars» из книги Эдгара Райза Бэрроуза. Перенос таких игр на компьютерный экран был лишь вопросом времени.

Читать дальше →

Вернулся невод с тиной морскою…

Reading time2 min
Views79K
Года полтора назад я решил провести небольшой эксперимент. Цель была посмотреть на концентрированный новояз. Сделал я следующее:
1) Распарсил bash.im (тогда ещё bash.org.ru) и создал частотный словарь встречающихся там слов.
2) Распарсил Википедию и создал частотный словарь (точнее не совсем так, словарь Википедии у меня к тому моменту уже был, я его делал раньше для совсем других целей).
3) Рассортировал словарь Баша по встречаемости в порядке убывания, шёл по нему и печатал те слова, которые ни разу не встречались в Википедии.
Читать дальше →

Делаем микросхемы дома — часть 3

Reading time6 min
Views202K
Прошло чуть больше года после предыдущих статей о моем проекте создания микросхем дома (1, 2), люди продолжают интересоваться результатами — а значит пора рассказать о прогрессе.

Напомню цель проекта: научиться изготавливать несложные кремниевые цифровые микросхемы в «домашних» условиях. Это никоим образом не позволит конкурировать с серийным производством — помимо того, что оно на порядки более совершенное (~22нм против ~20мкм, каждый транзистор в миллион раз меньше по площади), так еще и чудовищно дешевое (этот пункт не сразу стал очевиден). Тем не менее, даже простейшие работающие микросхемы, изготовленные в домашних условиях будут иметь как минимум образовательную и конечно декоративную ценность.
Читать дальше →

Генетический алгоритм для генерации лиц

Reading time1 min
Views8.4K
Что будет, если генератор случайных фигур соединить с детектором лиц? Способен ли эволюционный алгоритм путём случайных мутаций сгенерировать человеческое лицо? Разработчик программы Pareidoloop отвечает на этот вопрос утвердительно (генератор протестирован только в Chrome 21).


(с) spiritedflow
Читать дальше →

Говнокод или суперархитектура? Сначала говнокод, а потом эволюционный рефакторинг!

Reading time3 min
Views74K
Ответ на статью.

Если вы не разрабатываете ПО для машин или систем автоматического поддержания жизни и тд — нижесказанное работает для вас при грамотном применении.

Сразу скажу — не моя идея, в статье «Проектирования больше нет?» сам Мартин Фаулер писал об эволюционном рефакторинге. А Боб Мартин даже целую книгу запилил с примером поэтапного развития приложения (и не одним), назвав «Быстрая разработка ПО» и продемонстрировав умение виртуозно материться на Java и C++.

Во-первых, говнокод на первом этапе обязателен. Причин куча. Раз — вы ничего не знаете о реальных условиях работы приложения, все ваши домыслы фигня. Пока реальный опыт не получен, пока не занесены первые живые данные реальным пользователем — у вас нет обратной связи. Если вы не согласны, почитайте Макконнелла, миф о стабильных требованиях, и получите левелап.
Читать дальше →

Работа с цветом: полезные инструменты, книги, статьи для веб-дизайнеров

Reading time2 min
Views91K
Работа с цветом — это первое, что должен уметь любой дизайнер. В интернете огромное количество разрозненной информации на эту тему, я попытался собрать самое полезное в одной подборке. Большинство полезностей с уклоном в веб-дизайн.

Инструменты




Colour Lovers — старый и функциональный инструмент для подбора цветовых схем. Аналоги — Colourcode, Color Scheme Designer и конечно Kuler. Подобных сайтов великое множество, но эти, на мой взгляд, самые удобные.
Читать дальше →

Как Яндекс распознаёт музыку с микрофона

Reading time10 min
Views161K
Поиск по каталогу музыки — это задача, которую можно решать разными путями, как с точки зрения пользователя, так и технологически. Яндекс уже довольно давно научился искать и по названиям композиций, и по текстам песен. На сказанные голосом запросы про музыку мы тоже умеем отвечать в Яндекс.Поиске под iOS и Android, сегодня же речь пойдёт о поиске по аудиосигналу, а если конкретно — по записанному с микрофона фрагменту музыкального произведения. Именно такая функция встроена в мобильное приложение Яндекс.Музыки:

image

В мире есть всего несколько специализированных компаний, которые профессионально занимаются распознаванием музыкальных треков. Насколько нам известно, из поисковых компаний Яндекс стал первым, кто стал помогать российскому пользователю в решении этой задачи. Несмотря на то, что нам предстоит ещё немало сделать, качество распознавания уже сопоставимо с лидерами в этой области. К тому же поиск музыки по аудиофрагменту не самая тривиальная и освещённая в Рунете тема; надеемся, что многим будет любопытно узнать подробности.
Читать дальше →

Самая маленькая сбойная программа на C

Reading time2 min
Views112K
Шведский студент Йеспер Эквист (Jesper Öqvist) получил в универе домашнее задание: написать самую маленькую программу C, которая вылетает с ошибкой (segfault, SIGFPE). Обычно студенты в таких ситуациях используют деление на ноль.

int main()
{
    return 1/0;
}

Из этого кода ещё можно удалить пару байтов, если вместо инструкции использовать присвоение значения переменной.

int main()
{
    i=1/0;
}
Читать дальше →

Применение процедурных генераторов в создании контента для real-time 3D приложений: Часть 2. Valley Benchmark

Reading time13 min
Views76K
Бенчмарк Valley


Это вторая и заключительная часть статьи, посвященной процедурным методам производства контента для 3D приложений. Первую часть Вы можете найти здесь.

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

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

В этот раз речь пойдёт о том, какими средствами и приёмами мы пользовались при создании бенчмарка Valley, чтобы в максимально сжатые сроки произвести большое количество фотореалистичного контента.
Читать дальше →

Немного о человеческой глупости и иррациональном поведении

Reading time2 min
Views59K
Бесконечны лишь Вселенная и глупость человеческая. Хотя насчет первой у меня имеются сомнения. (с) Альберт Эйнштейн

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

Как правило, люди ставят такие задачи с очень серьезным выражением лица. Это хорошо проилюстрировано в следующем гениальном видео, снятого по мотивам не менее гениального рассказа:



Что делать, если вы попали в такую ситуацию? Вариант «уволиться» рассматривать не будем, хотя часто это единственный простой и правильный вариант.
Читать дальше →

Освободи разум от Фотошопа — свежая концепция обработки изображений

Reading time5 min
Views103K
Я люблю Фотошоп. Честно-честно! Я работаю с ним каждый день уже лет десять. Нельзя переоценить влияние Фотошопа на отрасль цифровой графики — которая во многом определяет, как выглядит мир вокруг нас! Я практически уверен, что прямо сейчас в вашей комнате есть как минимум одна вещь, в дизайне которой принимал участие Фотошоп. И, конечно, картинки для этой статьи были подготовлены в Фотошопе!

В своей сфере Фотошоп — лидер. Его можно называть «стандартом» (что скорее хорошо) или «монополистом» (что скорее плохо). Но факт остается фактом — если вы работаете с любым видом цифровой графики, вам приходится мыслить терминологией Фотошопа и следовать идеям его создателей.

Признаться, Фотошоп — это не самая сложная компьютерная программа из существующих (поскольку, будем откровенны, цифровые изображения — это не самая сложная часть компьютерной науки). Однако, он все-таки весьма сложен. Причин несколько. Во-первых, в Фотошопе много функций и, следовательно, возможностей. Во-вторых, он стар (он очень стар, он… ну вы понимаете :-) — почти моего возраста! Такая долгая история разработки означает, что создатели Фотошопа прошли долгую дорогу, и у них не было возможности пересмотреть основные концепции или переделать какие -то вещи заново. Совместимость и все такое. И потом, зачем чинить то, что не сломалось?

image

Images by about.com


Однако, сегодня ночью меня посетила идея… нет, ИДЕЯ! И теперь она сидит у меня в голове, стучится и просится наружу, хочет быть рассказанной, опубликованной и обсужденной. А что может быть лучше интересного обсуждения!

Итак...
Читать дальше →

«Интернет по-русски» (Компьютерра, март 1997)

Reading time34 min
Views32K
Всю первую половину 1990-х Интернет в России оставался забавой для гиков: «чтобы запустить используемые протоколы, одного высшего образования мало». Позже, когда Интернет уже стал доступнее и популярнее, его поджидала другая напасть — чехарда с поддержкой кириллицы. Различных кодировок было достаточно, чтобы потеряться.

В марте 1997 Компьютерра избрала данную проблему своей «темой номера», начав рассказ с того, откуда столько кодировок появилось и почему они все используются, и заканчивая рекомендациями о том, как со всем этим жить дальше. Я перепечатываю текст из журнала как есть, не сокращая. Я специально перепроверил, что гуглу этот текст доселе неведом; но по-моему, такой «памятник славянской письменности» из доюникодной эпохи — достоин того, чтобы сохраниться в электронном виде.

(Пользуясь поводом, упомяну и свой двухгодовалой давности топик о Кате Лажинцевой, официальном создателе CP-1251.)

Олег Татарников

Крестоносцы

Ты так гонишься за тенью, что теряешь наличие.
Из книги Иова


Концепции Интернета, первоначально разработанные в унитарной, централизованной армейской системе министерства обороны США, быстро вышли из «диктаторских пут» и воспринимаются сегодня как идеи всемирной общедоступной информационной магистрали. Любые попытки ограничения доступа, цензуры и внешнего воздействия на Сеть однозначно воспринимаются мировым сообществом в штыки. За широким внедрением Интернета в нашу жизнь не стоит никакая организация: это самоорганизующаяся система, и главный ее двигатель — все человечество. В этом основное отличие всемирной Сети от коммерческих сетей, в этом ее привлекательность для миллионов и ее сила. В таком свете неприглядно выглядят сторонники массовой «коизации» информационного обмена в России, стремящиеся загнать всех российских пользователей в прокрустово ложе единой кодировки. Тем более что носители этой идеологии составляют абсолютное меньшинство российских пользователей Интернета, пусть даже и самое активное. Причем благие намерения, которыми они при этом руководствуются, никак не служат оправданием для насильственного ограничения свобод и причинения дополнительных неудобств огромной армии пользователей, число которых продолжает стремительно расти. Ибо известно, куда таковыми намерениями обычно мостятся дороги.

Поводом для написания данной статьи послужили многочисленные послания, приходящие по электронной почте автору и многим другим «русскоязычным» абонентам Интернет-ресурсов в нечитабельном виде, то есть совершенно непригодные для чтения и никакой расшифровке не поддающиеся (проще говоря, безвозвратно загубленные — состоящие из одних «крестов»). Причем основными «виновниками» этого оказались провайдеры Интернет-ресурсов, как раз и обязанные оградить своих клиентов от подобных казусов.

Пытаясь разобраться во всех существующих проблемах и найти возможные пути решения, я обратился непосредственно к тем, кто максимально заинтересован в преодолении существующих трудностей, то есть к разработчикам программного обеспечения, Интернет-провайдерам и, естественно, их клиентам.
Читать дальше →

Как уронить Windows шестью строчками кода

Reading time3 min
Views267K
См. также: Microsoft исправила уязвимость с синим экраном

Однажды один знакомый рассказал мне про одну уязвимость в Windows. А именно из-за нее можно легко вызвать синий экран смерти шестью строчками кода на Си. Причем программа не требует никаких прав администратора и вызывает только одну функцию масштабирования окна.


Читать дальше →

Памятка юнге (набор советов для тех, кто собирается идти в игровую индустрию)

Reading time14 min
Views62K


Что побудило меня написать это статью?


Первое. Зачем художнику рассказывать о тяготах жизни и о трудном пути, если у него вроде как все хорошо? Во-первых не так уж и хорошо (потому что всегда может быть лучше), а во вторых, для того чтобы идущие следом – не повторяли ошибок, стало быть не тратили свое драгоценное время. Сколько бы нам не было отпущено – все равно на все не хватит. Стоит постараться выделить важные вещи, и опустить незначительные.

Второе. На мой ящик пришло несколько писем с просьбами помочь советом в устройстве в игровую индустрию.

Третье, но далеко не последнее. Еще одним «чиркашом» для моей сегодняшней спички послужила эта статья. Имею свой особый взгляд на игровую индустрию, игровые конторы, не имеющий ничего общего с изложенной точкой зрения. Хочу предложить тем кто решился идти в игровую индустрию нечто более осязаемое. Конкретику. То, что может быть использовано для достижения цели. Не будет волшебных пилюлек, ласковых Розовых оттенков еще не разбитых очков, политеса и прописных истин. Там где Истины все же отметятся – зайдут по делу, выпьют чарку рому и пойдут дальше.

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

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

Читать дальше →

Как я писал Bomberman’а на Android

Reading time4 min
Views51K
День добрый, уважаемые хабражители.
Писать игры хотел ещё с того момента, когда только начал программировать. И вот, решил всё-таки попробовать себя в написании игр на Android.
Игру осенью сделал ещё и выложил в маркет. Правда её удалили, так как права на Bomberman'а у Konami. Но статья, естественно, не об этом.

Параллельно с разработкой игры писал туториалы по LibGDX, и постоянно люди просили выложить исходники. Решил всё-таки поделиться ими и немного рассказать про разработку. Может кому-нибудь и поможет в изучении LibGDX. Ссылка на репозиторий с исходниками внизу статьи.

Читать дальше →

Проектирование собственного компьютера. Часть 1

Reading time5 min
Views64K

Вступительная часть. «Наполеоновские планы»


Почти год назад у меня возникла мысль понять, как устроен компьютер, как он работает. Ну и конечно же, появилось огромное желание создать свой собственный на элементарных логических элементах (если быть точнее — на транзисторах).
Тогда у меня было только маленькое представление о его работе: я знал, что вся цифровая электроника построена на логических элементах (для меня это было, как постулат), но никак не мог сообразить, как исполняется программа, суммируются числа, зачем прерывания… Этот перечень вопросов можно продолжать и дальше, но сейчас не об этом.
Определим характеристику разрабатываемого компьютера:
  • Вид логики: двоичная логика
  • Разрадность шины данных: 32 бита
  • Разрядность шины адреса: 24 бита (можно адресовать 16 777 216 32-разрядних чисел)
  • Исполнение основных арифметических, логических, побитовых операций над данными, а также операций над ячейками памяти (mov, xchg)
  • Реализация функции выделения памяти (предусмотрено 4 ассемлерных инструкции)
  • Обработка данных напрямую и с помощью указателей
Читать дальше →

Строим декоративный транзисторный компьютер — шаг 1

Reading time7 min
Views118K
Недавно на хабре была статья о проектировании собственного компьютера, где автор хотел сначала строить компьютер из транзисторов, но затем решил продолжить на микросхемах 7400-серии из-за того, что на транзисторах ему это показалось слишком сложным и дорогим занятием.

Похожая задача интересовала и меня последние 3 года — но от изначальной идеи строить на транзисторах я не отказался, и сейчас могу рассказать свои соображения и показать текущие наработки, а также — хочу спросить вашего мнения о том, каким на ваш взгляд должен быть _серийный_ транзисторный декоративный компьютер. Но сразу нужно заметить, что работы впереди еще на пару лет :-)

Главный вопрос — зачем все это нужно, если есть FPGA и всякие Raspberry Pi?

Ответ простой:
1) Мне интересно этим заниматься в свободное время и
2) Декоративный компьютер (декоративный — это вопрос отношения к компьютеру, а не его внешности) — он как декоративные домашние животные: мопс не отгрызет ногу грабителю, а персидский котик не победит в бою метрокрысу. Но с ними интересно играть и показывать гостям — даже если в области вычислений, охраны и охоты они сильно уступают «боевым» аналогам.
Читать дальше →
12 ...
269

Information

Rating
Does not participate
Location
Ярославль, Ярославская обл., Россия
Date of birth
Registered
Activity