Создание своей облачной системы за час

В последнее время появилось возможность создать свой облочный сервис (IaaS) без усилий и программирования. В простейшем случае можно создать Cloud-In-A-Box используя всего один компьютер с процессором который поддерживает виртуализацию. Данное облако имеет свои ограничения и, по-моему, подходит только для тренировки. Если у вас есть две машины с процессорами которые поддерживают виртуализацию, то можно создать полноценное облако пригодное для тестирования и разработки облачных решений. Недавно компания Eucalyptus представило новую версию своего продукта Eucalyptus 3.4. С помощью программы FastStart можно создать полноценную AWS и S3 совместимую IaaS систему без усилий и глубоких знаний продукта.

Я использовал два Intel NUC машины для установки Eucalyptus. Так как у NUC нет дисковода, то я воспользовался CentOS 6.2 машиной для создания загрузочного USB ключа. Для начала надо получить FastStart ISO зайдя на www.eucalyptus.com/eucalyptus-cloud/get-started/try#faststart. После этого создать загрузочный ключ. Я использовал UNetbootin для создания ключа. Не забудьте скопировать FastStart ISO на ключ после окончания работы UNetbootin. На моей машине UNetbootin оставил файловую систему на ключе в read-only режиме после окончания работы и надо было сделать umount и mount ключа для записи файла.

Перед началом инсталляции решите какие IP вы присвоите машинам и какие будите использовать для виртуальных машин в вашем облаке. Я решил присвоить 192.168.10.1 Frontend машине, 192.168.10.2 Node Controller(NC) и использовать 192.168.9.1-192.168.9.100 для публичных адресов виртуальных машин. Убедитесь, что ваши сетевые настройки позволяют задавать машинам статические IP. Если это невозможно вам придется использовать DHCP, что чревато проблемами если сервер получит новый IP после инсталляции системы. Так, что я бы рекомендовал использовать статические IP.

После создания ключа загрузите первую машину с USB. Сначала я установил Node Controller. При инсталляции помимо нескольких стандартных вопросов CentOS мне надо было ввести IP сервера, маску сети, Default Gateway и DNS.

После создания NC я загрузил вторую машину с USB и выбрал Install CentOS 6 with Eucalyptus Frontend в меню. При инсталляции было задано несколько дополнительных вопросов про сетевые настройки и публичные и закрытые адреса для виртуальных машин. Для публичных я выбрал вышеуказанный диапазон, а для закрытых предложенных системой 172.31.Х.Х диапазон. После, когда система предложила зарегистрировать NC, я указал адрес первой созданной машины 192.168.10.2. И это все. После перезагрузки я получил работающую облачную систему.

Для работы с ней можно использовать как UI так и командную строку. После инсталляции система сообщает все параметры для работы с облаком. Если вы что-то забыл просто зайдите на Frontend машину по ssh и вы получите напоминание как это:

 [vasya@localhost ~]$ ssh root@192.168.10.1 root@192.168.10.1's password: Last login: Wed Oct 30 14:45:12 2013 from 192.168.1.183 User Console URL (for managing instances, volumes, etc.):     https://192.168.10.1:8888/  User Credentials:   * Account:  demo   * Username: admin   * Password: password  Admin Console URL (for managing user accounts, VM types, etc.):     https://192.168.10.1:8443  Admin Credentials:   * Account:  eucalyptus   * Username: admin   * Password: admin 

Для работы через UI перейдите по адресу указанному выше

https://192.168.10.1:8888/

Введите ваши данные для demo пользователя и можно начать запускать машины и создавать диски.
По умолчанию в системе уже есть один образ на базе CentOS 6.4 и созданы несколько ключей. Так что можно сразу запустить виртуальную машину.

Для работы с командной строкой зайдите по ssh на Frontend машину. И загрузите переменные окружения для одного из двух созданных по умолчанию пользователей. Например:

 . ~/credentials/admin/eucarc 

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

 [root@Box1 ~]# euca-describe-availability-zones verbose AVAILABILITYZONE    CLUSTER01    192.168.10.1 arn:euca:eucalyptus:CLUSTER01:cluster:cc_01/   AVAILABILITYZONE    |- vm types    free / max   cpu   ram  disk   AVAILABILITYZONE    |- m1.small    0005 / 0008   1    256     5   AVAILABILITYZONE    |- t1.micro    0005 / 0008   1    256     5   AVAILABILITYZONE    |- m1.medium    0005 / 0006   1    512    10   AVAILABILITYZONE    |- c1.medium    0002 / 0004   2    512    10   AVAILABILITYZONE    |- m1.large    0002 / 0004   2    512    10   AVAILABILITYZONE    |- m1.xlarge    0002 / 0004   2   1024    10   AVAILABILITYZONE    |- c1.xlarge    0002 / 0004   2   2048    10   AVAILABILITYZONE    |- m2.xlarge    0002 / 0004   2   2048    10   AVAILABILITYZONE    |- m3.xlarge    0001 / 0002   4   2048    15   AVAILABILITYZONE    |- m2.2xlarge    0001 / 0002   2   4096    30   AVAILABILITYZONE    |- m3.2xlarge    0001 / 0002   4   4096    30   AVAILABILITYZONE    |- cc1.4xlarge    0000 / 0001   8   3072    60   AVAILABILITYZONE    |- m2.4xlarge    0000 / 0001   8   4096    60   AVAILABILITYZONE    |- hi1.4xlarge    0000 / 0000   8   6144   120   AVAILABILITYZONE    |- cc2.8xlarge    0000 / 0000  16   6144   120   AVAILABILITYZONE    |- cg1.4xlarge    0000 / 0000  16   12288   200   AVAILABILITYZONE    |- cr1.8xlarge    0000 / 0000  16   16384   240   AVAILABILITYZONE    |- hs1.8xlarge    0000 / 0000  48   119808  24000 

На моей NC машине стоит 4 ядерный процессор и 128 GB диск. По умолчанию, после установки я мог бы запустить до 4 виртуальных машин. Но как вы видите, система предлагает запустить до 8 виртуальных машин. Что бы этого добиться зайдите по ssh на NC машину и отредактируйте несколько переменных в /etc/eucalyptus/eucalyptus.conf файле. Я поставил:

 MAX_CORES="8" NC_WORK_SIZE=70000 

После этого надо перезапустить NC процес /etc/init.d/eucalyptus-nc restart и в моем распоряжении оказалось в двое больше ресурсов. Я бы не стал злоупотреблять с изменением числа процессоров, но удвоить их, думаю, смело можно если виртуальные машины не будут использовать 100% своих процессорных мощностей.

Если вам привычнее использовать русскоязычный интерфейс, то можно поменять настройки консоли. Для этого зайдите по ssh на Frontend машину и отредактируйте /etc/eucalyptus-console/console.ini файл. Надо поменять locale language=ru_RU
После этого перезапустите eucalyptus-console процесс /etc/init.d/eucalyptus-console restart

Зайдя опять в UI вы увидите, что меню и многие сообщения переведены на русский язык.

На всю инсталляцию двух машин и настройки я потратил меньше часа.

ссылка на оригинал статьи http://habrahabr.ru/post/200326/

Структура современной пиратской (варезной) сцены

На сайте aboutthescene, который сегодня можно увидеть только в интернет-архиве, кроме истории сцены, которую я переводил в прошлый раз, содержалась также довольно подробная информация о современном на тот момент (2008г.) состоянии сцены, её иерархии и принципах работы. В этой статье я попытаюсь обобщить всю эту информацию вместе с комментариями людей, которые знают о состоянии дел сегодня. Конечно, здесь могут быть неточности или ошибки в терминологии или структуре, некоторые сведения могут показаться, наоборот, чересчур общеизвестными, но я постарался представить всю информацию в наиболее полном объёме, как она была на вышеупомянутом сайте.

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

Собственно сцена состоит из релиз-групп и огромной системы топсайтов, расположенных по всему миру. Хотя «официально» считается, что релизы должны оставаться только на сцене, они распространяются и в других местах. Это FXP-форумы, ньюсгруппы, IRC-обменники и сценовые торрент-трекеры. О них также рассказывалось на сайте, хотя, еще раз подчеркну, они не являются частью сцены.

Релиз-группы

Релиз-группы — ядро сцены, это люди, которые делают релизы. Состав и количество участников может быть очень разным, в зависимости от того, что именно релизит группа — фильмы, музыку, игры или программы. Например, mp3-группа может легко состоять всего из 1 человека, а в крупной группе, выпускающей софт, может быть несколько десятков человек. У группы обычно имеется свой сервер (dump), на котором они хранят рабочие файлы. На сцене действуют строгие стандарты, или правила, по которым делаются все релизы. Правила меняются редко, обычно это делается собранием совета нескольких топ-групп.

Материал для релизов группа берёт у поставщика (supplier), который может являться участником группы, либо нет. В последнем случае после передачи на сцену поставщик может продать материал (например, снятый в кинотеатре фильм) коммерческим пиратам.

Методы поставщиков в ранние годы не слишком отличались от сегодняшних. Человек просто шёл в магазин и покупал программу, либо заказывал софт прямо у компании-разработчика. Деньги для покупки во времена BBS обычно шли из официальных взносов сисопов, но иногда незаконными методами, такими как кардинг. Более предпочтительным всегда было иметь инсайдеров. Это как шпионы внутри корпораций, они берут программы прямо из источников ещё до официального выпуска. В таком случае группе не надо было следить за датой выхода и срочно бежать в магазин, пытаясь обогнать других. Более того, это даёт время спокойно вскрыть программу, пока другие группы ждут официального релиза. Некоторые группы были более изобретательны, например, кто-то притворялся, что работает в журнале, делающем обзоры свежего ПО. В то время компании были рады предоставить экземпляры бесплатно, но со временем они поумнели, и таких случаев поубавилось.

Если группа выпускает релиз, который уже был выпущен другой группой, это дубль (dupe). Тогда релиз нюкают (nuke). Это означает, что его помечают как «плохой» релиз. Группы пытаются этого избежать, так как это создаёт им плохую репутацию. Кроме дубля, релиз может быть нюкнут и по другим причинам. Существуют два типа нюков: глобальные и локальные.

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

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

Когда группа делает релиз, он автоматически регистрируется в базе данных. Это огромная база, содержащая все релизы, когда-либо выпущенные на сцене. Она содержит названия релизов, дату и время выхода, хотя поля отличаются в разных базах. Например, это могут быть музыкальные жанры (для mp3 релизов), секции, причины nuke. Базы данных существуют для того, чтобы предоставить группам сервис для проверки уже выпущенных релизов, чтобы избежать дублей (дупов). По ней также можно проверять, вышел ли уже, например, фильм, и когда, и т.д. Базы релизов обновляются автоматически, либо обходом топсайтов (spidering), либо перехватыванием pre-сообщений на каналах сайтов.

Сайты/топсайты

Каждая релиз-группа выкладывает свои релизы на один или несколько топсайтов. Затем релиз распространяется по всей сцене. На самом деле сайтов очень много, но для них существует система рейтинга. Самые престижные сайты, которые имеют лучших операторов, самые быстрые каналы и соглашения с топовыми группами — имеют самый высокий рейтинг. Это и есть топсайты. Все остальные сайты тоже являются частью сцены, если хотя бы какие-то курьеры перекладывают на них релизы, но менее значимые сайты, особенно те, которые вообще не участвуют в рейтинге, топсайтами никто конечно не называет.

Безопасность для топсайтов очень важна, они сильно засекречены. Типичный сайт конфигурируется так, что на него могут заходить только пользователи с определённым ident и host (или проверяется диапазон ip), с шифрованием SSL всех сессий. Для скрытия реального IP адреса топсайта используются FTP баунсеры. Большинство пользователей подключаются через прокси. Таким образом на сайте тоже не видно их реального адреса.

Сайты имеют быстрое подключение к сети и большой объем дискового пространства. Часто они находятся в школах, университетах, у людей на работе, или в датацентрах. Некоторые страны предпочтительнее: Нидерланды и Германия — там быстрый интернет и это в центре Европы. В Швеции тоже хорошая скорость, к тому же там это очень дёшево. Такие сайты называют легальными, в том смысле, что владелец компьютера знает, что на нём располагается сайт, в отличие от pubstro (см.ниже). Если у вас быстрый интернет и вы согласны держать сайт, найдутся люди, которые будут рады купить и отправить вам компьютер для сайта, при этом они не будут получать от него никакой коммерческой выгоды. Владельцы же сайтов иногда продают доступ за деньги, но это нечастое явление. На сайте устанавливается FTPD и бот, который будет объявлять на IRC канале, когда на сайте создаётся директория и когда завершается закачка релиза. Также он сообщает информацию о «гонке» — курьеры пытаются как можно быстрее перелить релиз на другие сайты. Так они зарабатывают рейтинг.

Все, кто есть на сайте, зарегистрированы на IRC канале сайта. Чаще всего они располагаются на частных и очень защищённых серверах, подключение идёт через SSL. Есть и другие меры безопасности. На канал нельзя просто так зайти, надо себя пригласить с помощью специальной команды, в то время как вы находитесь на сайте. Таким образом те, кого нет на сайте, не смогут зайти на канал. Либо используется пароль. Часто каналы защищены плагином для IRC шифрования FiSH. Для того чтобы читать сообщения, нужен будет соответствующий fish ключ. На IRC канале операторы сайта и участники могут общаться между собой. На этом же канале присутствует бот, объявляющий о релизах. На большинстве сайтов есть отдельный канал для объявлений.

Все люди, присутствующие на сайтах, делятся на сайтопов, курьеров и аффилиатов.

Сайтопы (операторы сайтов) это администраторы. Обычно на сайте от 2 до 5 сайтопов. Один из них часто владелец сайта, другой тот, кто его нашёл и помог установить. Остальные — их друзья и люди со сцены. Один из них или несколько — нюкеры. Их работа заключается в удалении фейков и дублей.

Курьеры — люди, которые перебрасывают релизы между сайтами. Обычно у каждого из них есть доступ к нескольким сайтам и они стараются перелить релизы как можно быстрее, сразу после их выхода. Рейтинг чаще всего 1:3, то есть, закачав на какой-то сайт 3ГБ, можно оттуда забрать 9ГБ. Гонка заключается в том, чтобы перелить больше всего частей релиза с наибольшей скоростью. Гонка начинается сразу после PRE.

Аффилиаты — это представители релиз-групп, которые публикуют свои релизы на сайте. У каждого из них есть доступ в личную скрытую директорию на топсайте. Туда закачиваются новые релизы перед тем, как они станут доступны другим пользователям. Когда новый релиз полностью закачан на все топсайты, с которыми сотрудничает группа, выполняется специальная команда, которая одновременно копирует релиз в директорию, доступную всем остальным и даёт объявление на IRC канале. Эта команда называется PRE. PRE-сообщения могут также передаваться на внешние каналы для объявлений, чтобы сообщить другим курьерам/пользователям сайтов/fxp, что новый релиз доступен для гонок.

На сайтах также действует система рейтинга. Сайтопы и аффилиаты — исключение из этого правила, они могут скачивать свободно. Самая распространённая система 3:1, то есть если вы закачали 3ГБ, можете скачать 9ГБ (или FXP-нуть на другой сайт). Если участник не выполняет обязательный ежемесячный план по аплоаду, его аккаунт автоматически удаляется. За закачку плохого релиза (если его нюкнут) рейтинг может быть уменьшен, причём даже с повышающим коэффициентом. (прим.перев. то есть если вы залили какую-нибудь полную лажу, вам могут засчитать её в минус в 5-кратном размере, такая практика пришла еще со времён BBS)

FXP-форумы

FXP обозначает File eXchange Protocol. На самом деле это не протокол, а просто метод передачи файлов, использующий уязвимость в протоколе FTP. Он позволяет передавать файлы между FTP серверами. Первому серверу выдаётся команда, и он вместо того, чтобы передавать файлы клиенту, передаёт их другому серверу. Обычно скорость перекачки файлов очень высока.

Существование FXP-форумов малоизвестно, поэтому они в относительной безопасности. Однако хакерские методы, используемые ими, весьма нелегальны, и поэтому опасны. Обычно работа организована через форум на модифицированном движке vBulletin. Существует система рейтинга. Она может быть либо активной (когда пользователь должен иметь определённый рейтинг, чтобы иметь доступ), либо пассивной (когда админ просто периодически удаляет неактивных пользователей). Все участники делятся на сканеров, хакеров и филлеров.

Задачей сканера является прочёсывание IP адресов, где могут быть малозащищённые компьютеры с широким интернет-каналом (обычно это университеты, компании и т.д.). Это либо подбор паролей, либо сканирование портов. Сканеры часто используют для этого другие, медленные, ранее захваченные компьютеры (они называют их scanstro), на которых они устанавливают программы для удалённого сканирования. Когда результаты получены, сканер публикует их на сайте. В дело вступают хакеры.

Хакеры взламывают эти компьютеры. Существует очень много уязвимостей (дыр в безопасности), которые легко использовать. Для того, чтобы получить доступ к компьютеру, используется скрипт — так называемый эксплойт. Какой именно эксплойт запускать, конечно зависит от уязвимости, которую обнаружил сканер. Получив доступ к системе, хакер устанавливает руткит (обычно это модифицированная версия Serv-U). Чаще всего он также устанавливает программу для удалённого управления (обычно Radmin), чтобы потом было проще заходить на этот компьютер. Когда сервер готов, хакер публикует логин на своём FXP форуме. Такой захваченный компьютер называют pubstro или stro. В зависимости от скорости подключения и места на диске, его затем использует либо филлер, либо сканер.

Филлеры занимаются наполнением захваченных серверов свежим варезом. Филлер берёт варез с других pubstro, наполненных другими людьми. Иногда филлеры имеют доступ к топсайтам, и перекладывают релизы оттуда. Таких людей считают нарушителями, и если сценеры узнают об этом, их банят на сцене. Sceneban — одновременный бан на всех сайтах сцены. Говорят, что такое случается довольно часто. Переложив файлы, филлер публикует данные на своём FXP-форуме, чтобы другие могли скачивать. Каждый старается первым объявить о релизе, это гонка, такая же как на сцене — кто выиграл, тот получает прибавку к рейтингу.


пример объявления на сцене о нарушителе, который переливал релизы на FXP

Пабы/Pubbing

Эта техника в наши дни потеряла актуальность. Методы прошлых времён, аналогичные вышеописанным scan/hack/fill, когда у многих университетов и компаний на ФТП серверах был разрешён анонимный доступ, в том числе на запись. Поэтому, вместо того, чтобы взламывать систему, можно было просто закачивать варез туда и публиковать IP адреса. Когда-то такая практика была очень популярна, но по понятным причинам постепенно вымерла. Делалось это так: сканировались ФТП сервера с анонимным доступом на запись (их называли «pub»). Найденные пабы помечались (создавалась директория с именем «tagged.by.name»). Это делалось для того, чтобы уже «помеченный» паб никто больше не использовал. Видимо, некоторое время это работало, и люди уважали такие «метки», но недолго.

Затем люди стали менять метки на свои, что называлось retagging. Против этого стали использовать dir locking, чтобы никто, кроме того, кто первым пометил pub, не смог зайти в эту директорию. Использовались разные методы. Самый простой — создание «лабиринта» — это сотни поддиректорий, чтобы трудно было найти, где находится варез. Другой метод — UNIX тэги. Магический символ ÿ (alt+0255), который в UNIX-машинах был специальным кодом. Если в имени директории будет такой символ, оно будет отображаться не так, как на самом деле. Только создавший директорию может туда зайти, так как он знает настоящее имя. Были методы и для NT систем.

News-группы, IRC-обменники и сценовые трекеры

Протокол NNTP — один из самых древних в интернете. Изначально он использовался для общения по интересам на манер досок объявлений (как на BBS), но люди очень быстро поняли, что с его помощью можно обмениваться файлами. Сообщения хранятся на news-сервере определённое время, обычно небольшое, но есть серверы (как правило, платные), которые хранят данные очень долго. Свежие релизы со сцены распространяются через ньюсгруппы и сегодня, в то же время там можно найти и очень старые релизы, которые больше нигде не сохранились.

На IRC серверах существуют варезные каналы, поддерживаемые людьми, имеющими доступ к релизам. Это могут быть люди с FXP, платных сайтов, либо сценеры. Есть два типа каналов. Первые — Fserve-каналы (user-to-user). Они используют определённые скрипты и функции IRC по передаче файлов между пользователями напрямую. Вторые — XDCC-каналы (server-to-user). Обычно они ближе к сцене. Сервер (обычно iroffer) устанавливается на взломанном компьютере, чтобы потом раздавать оттуда варез. Одновременно релиз может скачивать лишь ограниченное число пользователей, поэтому организуется очередь.

Существуют специализированные закрытые торрент-трекеры, на которых раздаются исключительно релизы напрямую со сцены. Их называют сцен-трекеры или 0day-трекеры. Количество пользователей на них невелико, причём обычные пользователи не могут приглашать новых участников, этим занимается администрация. Они следуют тем же принципам, по которым действует сцена: никакого бизнеса — доступ должен быть бесплатным, а релизы, скачанные с трекера, запрещено где-либо распространять. На таких трекерах нет никакой рекламы, расходы на хостинг оплачиваются за счёт донейтов.

Заключение

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

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

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

ссылка на оригинал статьи http://habrahabr.ru/post/200412/

Избранное: ссылки по IT безопасности

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

OWASP

OWASP — самый крупный портал по безопасности веба. Собрана информация о всевозможных атаках, векторах, гайдах по пентесту и многое другое. По нему можно сделать отдельную выборку ссылок:

Эксплойты

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

Форумы

Bug Bounty

Многие сайты платят за уязвимости на своих сайтах

  • blog.nibblesec.org/2011/10/no-more-free-bugs-initiatives.html — список BugBounty программ
  • bugcrowd.com/ — площадка, где можно выставить свой сайт на пентест (временно) или поучаствовать в таком, получая за каждый баг деньги. Сейчас прошло что-то уже около 30+ таких пентестов.

Сборники уязвимостей на сайтах

Capture the Flag

Соревнования по безопасности. Задачи участников или решать выданные им задачи, или взламывать & защищать друг друга

  • ctftime.org — центральный сайт с расписанием различных CTF в мире, рейтингом команд, врайтапами и т.п.
  • pentestit.ru — Лаборатория тестирования на проникновение. Тоже проводит конкурсы в стиле CTF. Кстати, они будут организовывать у нас, на ZeroNights, свою лабораторию. Любые желающие смогут попробовать свои силы в её взломе 🙂

Взлом WiFi

Разное / WEB

Разное / Прикладное ПО

Разное / Обучение

Security mailing lists

Рассылка на почту о разных уязвимостях

Конференции

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

Предложения в комментариях (особенно про прикладное ПО) приветствуются!

ссылка на оригинал статьи http://habrahabr.ru/company/dsec/blog/200408/

«Masters of Doom»: как два парня построили империю и изменили поп-культуру [1]

imageПожалуй, лучше дня, чем Хеллоуин, для начала публикации этой книги и быть не могло — ведь речь пойдет про id Software, «открывшую» однажды Врата в ад своей игрой Doom. Первая часть повествует об одном из ее будущих основателей — Джоне Ромеро, и охватывает период его жизни начиная с детства и до того момента, как он попал в компанию Softdisk.

Перевод сделал Александр Пылков, и с его разрешения я предлагаю ознакомиться с началом этой замечательной книги всем читателям Хабрахабра.


Часть первая.

РОК-ЗВЕЗДА

Одиннадцатилетний Джон вскочил на свой грязный велосипед и помчался вперёд. Тощий ребенок с толстыми очками, он проехал мимо скромных домов Роклина, штат Калифорния, к пиццерии “Roundtable Pizza Parlor”. Он знал, что это не лучшее место для нахождения да ещё и после полудня, летом 1979 года, но это было место, где были Игры. Особенно игра Астероиды, или, как он сам выразился “самое суперское место на планете Земля.” Это было ни с чем не сравнимое ощущение, которое он получал лупя по кнопкам управления, стреляя по мчащимся навстречу его треугольного корабля, астероидам. И повторяющаяся по кругу музыка дум, дум, дум, дум, дум… Ромеро подражал ей. Казалось, что игра приносит с собой радость. Ему нравился риск во всём: уклоняться от мчащихся метеоров на видеоигре, или это было мелкое воровство денег дома, или разъяренный отчим. И не важно было, что происходило в его жизни, он мог всегда убежать в игры.

В будущем же его могла ожидать хорошая взбучка. Его отчим, бывший сержант-инструктор по строевой подготовке Джон Шунеман(John Schuneman), категорически запретил Ромеро играть в аркады. Аркады, это видеоигры, игры это преступность, преступность, это проблемы в школе и по жизни.

Помимо этого отчим любил упоминать, что у его матери уже были проблемы по воспитанию Джона и его младшего брата, Ральфа, с тех пор, как пять лет назад от них ушел родной отец Джона. Его отчим очень гордился тем, что теперь работает на секретной службе правительства, восстанавливая информацию с “черных ящиков” самолетов-разведчиков США, летавших по всему миру. “Эй!”, не так давно сказал он “- Считай, что я последний раз тебя предупредил по поводу игр!”

Ромеро конечно очень внимательно выслушал предупреждение и если раньше обычно он играл в “Тимоти”, это была небольшая пиццерия в центре города, то в этот раз он и его друзья переместились в “Roundtable Pizza Parlor”. Везде в городе, где были игровые автоматы с игрой “Астероиды”, на первом месте в списке игроков стояли буквы AJR, которые являлись инициалами для его полного имени, Альфонсо Джон Ромеро, и только ещё в этом заведении он находился просто в первой десятке, а не на первом месте. “А теперь смотрите!”, — сказал Ромеро, и начал играть.

Он уже собирался закончить раунд, когда ему на плечо легла тяжелая рука. “Что за херня, парень?” – огрызнулся Джон принимая это за уловку одного из приятелей, что бы не дать ему поставить новый рекорд. И в этот момент его голова врезалась в панель игрового автомата.

Отчим проволок Ромеро мимо его друзей, до своего пикапа, в кузове которого уже валялся грязный велосипед мальчика. Мда, это было ошибкой Ромеро, оставить велосипед на улице так, что его увидел отчим возвращаясь с работы. “В этот раз, пацан, ты действительно попал!” Он привел Ромеро в дом, где на кухне находились мать и бабушка Ромеро, “Джонни снова играл в аркадные игры”, сообщил отчим. “Знаете на что это похоже? Это похоже на фразу –Да не пошел бы ты на хер! – сказанную в мой адрес!”. После этого он избил Джона так, что у того распухла губа, а под глазом налился чернотой синяк. После этого случая Ромеро безвылазно просидел дома под домашним арестом две недели. Но и потом, на следующий день он уже снова крался в салон видеоигр.

Ромеро родился очень активным, по словам Джинни, его матери, это произошло 28 сентября 1967 года, на шесть недель раньше срока. Его родители поженились буквально за несколько недель до этого события, и у них это был весьма тяжелый период жизни. Джинни, добродушная и спокойная, встретила Альфонсо Антонио Ромеро, когда они ещё были подростками, в Тусконе, штат Аризона. Альфонсо был из первого поколения мексиканцев переехавших жить в США. Он служил на авиационной базе, и занимался наладкой аппаратуры кондиционирования кабин экипажа на самолётах. После того, как Альфонсо и Джинни решили поженится, они, на старом крайслере 1948 года выпуска, с 300 долларами в карманах, переехали в Колорадо, где надеялись, что люди более терпимы к межрасовым отношениям.

Отношения там были лучше, но после рождения Ромеро, паре пришлось вернуться обратно в Тускон, где Альфонсо удалось найти работу на медных рудниках. Работа была тяжелая. Альфонсо стал приходить домой пьяным, если приходить вообще. Скоро появился второй ребёнок, Ральф. Джон Ромеро вспоминает для себя этот период, как хорошее время: барбекю, катание по кругу на лошади. Как только его отец в выходной день просыпался в 10 часов утра, сразу же будил и его. “Вставай! Пошли гулять!” И они уходили в холмы, где рос гигантский кактус церерус, гуляли по пустыне, спали прямо под звёздами. Но однажды, после обеда, его отец уехал в магазин за покупками и следующий раз Ромеро увидел его только через два года. За это время его мать снова вышла замуж за Джона Шунемена, который был старше её на четырнадцать лет, но к этому времени между ними уже были сложившиеся дружеские отношения. Однажды днем отчим нашел шестилетнего мальчика, делающий набросок спортивного автомобиля Ламборджини за кухонным столом. Рисунок был настолько хорош, что отчим решил, что он просто переведён с фотографии. Для проверки он попросил мальчика нарисовать игрушечный автомобиль, и сам стал следить за созданием рисунка. Рисунок получился ещё более похожий, чем предыдущий. Шунемен спросил Джонни, чем он хотел быть когда он вырастет. Мальчик сказал, “Богатым человеком”.

Это был период расцвета их отношений. Узнав любовь Ромеро к видеоиграм, отчим играл вместе с ним, выступая в них соперником, но мальчик всегда побеждал. Особенно, на тот момент мальчику удавалась игра Pac-Man, он умудрялся провести желтого колобка через все лабиринты, съев при этом все необходимые точки. Но вскоре отчим заметил, что хобби Ромеро затягивает того всё глубже и глубже.

Это началось в летний день 1979, когда брат Ромеро, Ральф, с другом, ворвались домой через парадную дверь. Они только что вернулись из колледжа Сиерры где совершили открытие. “Там есть игры!” сказали они.“Игры, за которые не надо платить!” Им давали поиграть уже учащиеся там студенты. И игры эти были на больших странных машинах с названием Компьютеры.

Ромеро схватил свой велосипед и наперегонки со всеми помчался в компьютерную лабораторию колледжа. Не было никаких проблем, что бы попасть в эту лабораторию. Для того времени в этом не было ничего необычного. Компьютерный андеграунд не делил людей на своих и чужих по возрасту. У студентов были свои ключи от лаборатории, и по вечерам и в выходные не было профессоров, которые могли бы выгнать детей из помещения. До этого времени Ромеро никогда не видел ничего подобного обнаруженному внутри. Из кондиционеров лился прохладный воздух, студенты сидели вокруг компьютерных терминалов и молча молотили по клавишам. Каждый играл в игру, которая состояла из одних только сменяющихся на экране текстов. “… Вы стоите в конце дороги перед небольшим кирпичным зданием. Вокруг лес. Рядом протекает ручей. Вдалеке виднеется белая башня….”

Это была игра “Colossal Cave Adventure”, самая популярная игра в то время. Ромеро понял, что она походила на компьютерную версию игры “Подземелья и Драконы” или D&D, как её ещё сокращенно называли. “Подземелья и Драконы” была настольной игрой в которой действия осуществлялись броском кубиков, а все игровые изменения записывались ручкой на бумаге. Эта игра чем то напоминала по сюжету произведение Властелин Колец писателя Толкиена. Многие взрослые называли эту игру игрой для фанатиков и бегством от реальности, но для такого мальчика, каким был Ромеро, самым главным было, понять внутренний механизм игры.

Созданная в 1972 году Гарри Гигаксом (Gary Gygax) и Дэйвом Арнесоном (Dave Arneson), двумя двадцатилетними друзьями, игра “Подземелья и Драконы” стала настоящим феноменом по распространенности, причем особенно в колледжах и студенческих городках. Она даже достигла статуса Городской легенды, особенно после того, когда студент Джеймс Даллас Эгберт (James Dallas Egbert) III пропал в подземных коммуникациях под Мичиганским городским университетом, куда ушел вдохновившись поиском приключений после того как провел много времени за этой игрой. Причем позже Том Хенкс снял фильм Mazes and Monsters (Лабиринты и монстры), который основывается как раз на этих реальных событиях. D&D превратилось в целую индустрию, приносящую прибыль в 25 миллионов долларов за счёт продаж футболок, игр, и книг написанных по её мотивам.

Суть этой игры была проста, как сказал Гигакс, “В Подземельях и Драконах, любой человек получает возможность стать героем и обрести славу. В реальной жизни дети ни за что не отвечают, а в игре они обретают суперсилу, и могут влиять на ход истории.” В D&D не было побед, как таковых, в обычном смысле. Она была ближе к повествованию фэнтезийных произведений, вы словно читали книгу в которой сами и были главным героем. В игре участвовало два или три человека, вокруг которых и строились все дальнейшие приключения игры. Всё, что было нужно, это специальная брошюра из комплекта игры, стандартные кубики, и ручка с бумагой для записи ходов и событий. Вначале игроки выбирали и определяли характеры своих героев, это могли быть люди, эльфы или гномы. Собравшись вокруг стола они слушали ведущего который зачитывал события из брошюры, описывающие ключевые, перед началом действия, ситуации. Например – “Вы стоите на опушке леса. Вдалеке виднеется деревенька, а из леса доносится звериное рычание. Какой путь вы выберете?” Если игрок выбирал направление на звериный рык, то Ведущий, или, как он назывался, Мастер игры, сообщал с каким людоедом или другим монстром вы встретитесь. А бросок игровых кубиков определял результат вашей встречи. Случайность управляла вашей судьбой. Поэтому было неудивительно, что эта игра была популярна у программистов, и одной из первых игр на перенесённых на компьютер стала “Colossal Cave Adventure”, вариант Подземелий и Драконов.

Суть компьютерного варианта игры была в путешествии к горной пещере и по ней самой, в котором необходимо было найти, отбить, а потом защитить драгоценности. Набирая на клавиатуре “Север” или “Юг” или другие направления, выбирая действие, “Убегать” или “Нападать”, Ромеро мог исследовать этот придуманный мир и чувствовать себя героем приключенческого романа. Постепенно входя в сюжет Ромеро чувствовал, как стены лаборатории становятся лесными деревьями, шум кондиционера превращался в шум водопада и он погружался в этот иной мир. И пусть этот мир был создан его собственным воображением, но для него этот мир был совершенно реальным. Если точнее, то это была другая реальность, в которой он сам выступал Создателем.

С 70-х годов, в игровой электронной индустрии преобладали игровые автоматы, или как их ещё называли, видеоигры, аркады, одним из представителей которых являлась игра “Астероиды”. Альтернативой им были ещё игровые телевизионные приставки, как например Atari 2600. Написание программного обеспечения для этих платформ требовало много времени и индустриальных ресурсов. А вот компьютерные игры были другими, они были ближе, доступнее. Компьютеры чаще всего шли с собственными программными оболочками для дальнейшего программирования, что являлось дверью вовнутрь, и позволяло заглянуть внутрь самого процесса игры, внутрь программы. Да и люди, которые имели доступ к таким машинам, не были авторитарными извергами, они были обычными парнями, которые просто увлекались этой новой техникой. Ромеро был молод, но он был человеком действия, умел размышлять, и он сам захотел стать Волшебником этой страны Оз.

Каждую субботу в 7-30 утра Ромеро ездил на велосипеде в колледж, где удивлённые его сообразительностью, студенты показывали, как программировать “холодильники”, а именно такие размеры имели тогда универсальные ЭВМ от Hewlett Packard. Компьютеры, как таковые, обрели относительную массовость в пятидесятые годы, и тогда же заложили основы всей компьютерной индустрии. Поначалу большинство из них представляло собой целые залы уставленные шкафами с электронной аппаратурой, а программирование на них осуществлялось при помощи перфокарт. На рынке таких компьютеров в этот момент доминировала фирма IBM, продажи которой в 60-х годах достигли 7 миллиардов долларов. Но помимо больших ЭВМ производились и их младшие братья, персональные компьютеры, вот они то и устанавливались в университетах, на предприятиях, в компаниях, хотя и были всё ещё дороги для использования дома.

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

Первый раз это произошло в 1958 году (в оригинале опечатка — 1968. Прим. переводчика) в, наверно, самом невероятном месте, в ведомстве министерства обороны США, его ядерной научно-исследовательской лаборатории. Глава Брукхевенской Национальной Лаборатории, подразделение инструментов и измерений, Вилли Хигинботам (Willy Higinbotham), задумал разрядить напряженные отношения с местными фермерами. Для этой цели он, с помощью коллег, запрограммировал простейший вариант тенниса, который отображался на маленьком круглом экране осциллографа. Игра, которую он назвал “Теннис для двоих”, представляла собой просто светящуюся точку летающую между краями экрана и отскакивающую от управляемых линий. Эта игра буквально взбудоражила население. Хотя после была разобрана на части и убрана на склад.

Тремя годами позже, в 1961, Стив «Slug» Рассел и группа других студентов Массачусетского Технологического Университета создали игру “Spacewar” на первом персональном компьютере, PDP-1. В этой игре, два играющих стреляли по космическим кораблям друг друга, при этом их корабли совершали круговые полёты вокруг некой точки гравитационного притяжения, черной дыры или планеты, которая находилась в центре экрана. Десятью годами позже, программист и спелеолог-любитель из Бостона, Вилл Кроузер (Will Crowther), создал текстовую игру моделирующую хождение по пещере. Когда хакер из Стэнфорда с кличкой “DonWoods” увидел эту игру, он связался с Кроузером, и поделился мыслями, что было бы хорошо изменить игру, добавив в неё больше фантастических элементов. Результатом такого эксперимента и стала игра “Colossal Cave Adventure”

Это стало началом повальному увлечению текстовыми приключенческими играми, основными темами которых были Подземелья и Драконы, а позже к ним добавилась космическая тема из сериала “Звёздный путь” (StarTrek).

Ромеро вырос в восьмидесятые, когда уже появилось, так называемое, четвертое поколение хакеров, хакеров компьютерных игр. Первое поколение хакеров, как теперь принято разделять, было в пятидесятые-шестидесятые в МИТ (Массачуссеский Технологический Институт). Это были люди, которые занимались изучением первых компьютеров, совершенствовали их, пытались приспособить их к использованию в обычной жизни. Второе поколение было в семидесятые, это были те, кто передал пас в Кремневую Долину и Стендфорский Университет. Те, кто изобретали персональные компьютеры на коленке, и собирали их из радиодеталей, сидя в отцовских гаражах. И третье – зарождение компаний по производству компьютерных игр в восьмидесятые. Что бы стать частью этого общества Ромеро выучил язык его представителей, это был HP-BASIC. Ромеро был быстро схватывающим и настойчивым учеником, и всё чаще загонял собеседников в угол, задавая им всё более сложные вопросы.

Его родители же, наоборот, были совсем не впечатлены его новой страстью. Оценки в школе упали на тройки. На уроках он был сообразителен, но постоянно отвлекался, и родители думали, что всё это из-за увлечения видеоиграми. Несмотря на то, что это был золотой век компьютерных игр, а годовой доход индустрии которых уже перевалил за 6 миллиардов долларов, а домашних компьютерных игр – за 1 миллиард долларов, отчим Ромеро считал, что компьютерные игры не могут быть настоящей работой. “Ты никогда не заработаешь нормальных денег создавая игры.”, часто повторял он. “Тебе необходимо заняться чем то, что сможет на самом деле приносить доход.”

По мере того как стычки с отчимом нарастали, это сказывалось и на воображении Джона. Эмоциональное и физическое насилие выливалось в сюжеты его рисунков. Комиксы нарисованные Ромеро, которые соответствуют тому времени, вызывают ужас. Жизнь обычного мальчика часто насыщенна комиксами, это и героический Человек-паук, Фантастическая четвёрка, но Джон в возрасте одиннадцати лет начал рисовать комиксы сам. В одном из них нарисован сюжет, где их собака Шеви, приглашена играть хозяином в мяч. После этого мяч с силой попадает собаке в голову, голова трескается и из неё вытекает зелёное вещество. Далее подпись “Конец” и комментарий – “Бедный Шеви.”

В школе Ромеро как то раз, нарисовал комикс, по домашнему заданию, с названием “Странный”. В этом комиксе было описано и проиллюстрировано “10 различных способов кого то помучить”, и там было “… воткнуть иголки по всему телу жертвы, и через несколько дней наблюдать появление язв в этих местах…” или “… жечь ноги жертвы, в то время как она привязана к стулу.” Другой раздел комикса был озаглавлен “Как свести приходящую няню с ума”, и он включал такие варианты – “Взять кривой, острый кинжал и притвориться, что сам себя зарезал.”, “ Вставить себе в уши оголенные провода и изображать из себя радио…”. Учитель вернул эту работу с замечанием-“Это слишком грубо, малыш, я не думаю, что так надо делать”, но за работу поставил оценку 4+, оценив художественную технику.

Через несколько недель после своего первого посещения колледжа Сиерра, Джон уже создал свою первую компьютерную игру — текстовое приключение. Поскольку те компьютеры не имели постоянной памяти, то программировать пришлось при помощи создания перфокарт. Стандартная игра состояла из тысяч отверстий. Каждый день после школы Ромеро привязывал завернутую в бумагу пачку перфокарт к велосипеду и мчался в колледж, что бы ввести свою программу в компьютер. Однажды по пути он свалился с велосипеда и двести перфокарт разлетелись по всей дороге и упали в грязь. Ромеро решил, что это знак, что надо что то менять что бы двигаться дальше.

И скоро он встретил свою новую любовь, — компьютер Apple II. Apple сразу стал очень популярным в среде хакеров, сразу с того момента, как был первый раз продемонстрирован в Клубе Самодельных Компьютеров, который устраивал встречи компьютерных фанатов в Калифорнии. И разумеется в этом была заслуга создателей компьютера – Стив Джобса и Стива Возняка, или, как их позже стали называть, Два Стива.

Джобс, выгнанный из колледжа за увлечение буддиской философией, в качестве первой работы попал в компанию “Atari”, звезду игровой индустрии семидесятых. “Atari” была легендой, потому что именно её основатель Ноллан Бушнелл (NollanBushnell) придумал производить видеоигры. В 1972 году он выпустил игру “PONG”, простой симулятор тенниса, в которой игроки соревновались управляя белыми полосками и отбивая летающую по экрану туда-сюда точку изображавшую теннисный шар. Успех этой игры придал уверенности руководителю, и следующим его созданием была игра “SpaceWar”, аркадный симулятор космоса. Но у Джобса были свои, далеко идущие планы, которые он намеривался осуществить со своим другом Возняком, который тоже был компьютерным изобретателем, и так же мог часами играть в компьютерные игры.

Воз был в равной степени, как компьютерным гением, так и заядлым шутником, известным в Сан-Франциско тем, что организовал из своего домашнего телефона службу постоянных анекдотов. В компьютерах Воз обнаружил, что в них можно успешно объединять юмор и его математические знания, в играх, например, выдавая надпись “Вот дерьмо!”, когда игрок проигрывал раунд. Для начала Джобс попросил Возняка присоединится к нему в создании “BreakOut”, новой игры для “Атари”. Эта смесь предприимчивого взгляда Джобса и изобретательного, программного гения Возняка, и позволила родится их совместной компании, компании “Apple”. В 1976 году, их первый компьютер Apple, который по существу был прототипом для домашней сборки, появился в продаже за ужасные 666,66 долларов. А вот Apple II, созданный уже через год, был ориентирован именно на массовый рынок, и имел встроенную клавиатуру, зашитый компилятор BASIC, и самое главное, цветную графику. В нём всё ещё не было встроенного жесткого диска, но зато была возможность подключения двух джойстиков. Этот компьютер был явно создан для игр.

Ромеро впервые увидел элегантный бежевый корпус Apple II именно в колледже Сиерра. В то время, как графика обычных компьютеров позволяла использовать только белые квадраты и линии, экран Apple II буквально взрывался разными цветами и графикой высокого качества. Ромеро целый день оббегал всех в Лаборатории, стараясь побольше узнать об этой волшебной коробке и теперь всякий раз, когда предоставлялась возможность, Ромеро играл в разнообразные игры именно на Apple II. Многие игры запускаемые на этом компьютере были содраны с хитов видеоавтоматов, например такие как Астероиды или Вторжение космических захватчиков (SpaceInvaders). А вот другие демонстрировали использование имеющихся возможностей. Например такой игрой была Ультима (Ultima). Ричард Гэрриотт (Richard Garriott), он же ”Lord British”, сынок астронавта из Техаса, создал объемнейшую серию ролевых приключенческих игр с названием Ultima. В ней, как и в Подземелиях и Драконах, игроки могли быть магами, эльфами, воевать с драконами и создавать, и развивать своего героя. Графика в них была достаточно проста и была создана из разноцветных квадратов с упрощенными текстурами – зеленый квадрат означал дерево, коричневый – скалу. В момент битвы игрок не мог контролировать своего персонажа, его состояние и действия, и только по окончании он получал результат в виде текста. Но игроки игнорировали все эти недостатки, и видели то, что открывала игра – приключение и исследование нового мира.

Ultima так же продемонстрировала и скрытую предприимчивость нового поколения программистов. Они уже не хотели раздавать бесплатно результаты своей работы, пусть даже для большинства она и оставалась их же страстью. Например сам Гэрриот пошел известным для 80-х способом распространения игры — он развозил лично свою игру, записанную на дискеты, и упакованную в закрытый пакет, по местным компьютерным магазинам. Кен и Роберта Вильямс, молодожены из Северной Калифорнии, так же использовали для распространения запечатанные пакеты, однако созданная ими домашняя ролевая текстовая игра потом переросла в компанию с 10-миллионным годовым доходом, и стала называться“Sierra-on-Line”. Их компания позже стала пристанищем для программистов-хиппи, любителей покупаться в служебном джакузи. Сайлас Уорни (Silas Warner), шесть футов, девять дюймов, триста двадцатифунтовая легенда, основал свою компанию MuseSoftware, и создал одну из любимых Ромеро игр – Замок Вольфенштейн (Castle Wolfenstein), в которой игрок управляя своим персонажем бегал по лабиринту, уничтожая фашистов, а в конечном счёте убивал и Гитлера.

Ромеро продолжал проводить так много времени за играми, что его отчим в конце концов решил, что будет лучше, если такой компьютер будет находится дома. В день когда Apple II прибыл из магазина, он нашел свою жену стоящей перед дверью. “Обещай, что не будешь сердится.”, оправдывалась она. На полу гостиной лежала пустая коробка из под отдельных блоков компьютера. “Джонни уже сам всё собрал”, сказала она осторожно. В ответ послышалось несколько крепких матерных выражений. Разъярённый Шунемен поднялся из гостиной наверх громко топая по ступеням. Распахнув дверь он ожидал столкнуться с дикой кучей из пластмассы и проводов, однако увидел Ромеро что то печатающего на уже работающей машине. Его отчим постоял минуту неподвижно, потом спокойно подошел к мальчику и позволил показать ему несколько игр.

На Рождество 1982 года Джон загадал два желания. Он хотел получить книгу по программированию “Apple Graphics Arcade Tutorial” и ещё один учебник “Assembly Lines”, где рассказывалось про программирование на языке ассемблер, который позволял делать быстрые программы, но был очень сложном в изучении и программировании. Эти две книги стали для него настольными, к тому моменту, когда, в связи со сменой места работы, отчим перевез всю семью в Элконбери. Это был небольшой городок в центральной Англии, рядом с которым располагалась база ВВС Великобритании. Уже там Ромеро написал несколько игр, которые использовали утонченные возможности ассемблера. Он собрал собственную упаковку, и собственноручно создал для неё художественное оформление. Продажа этой игры в школе сделала его известным своими компьютерными навыками.

Его отчим узнал про это совершенно случайно, когда на его работе один из офицеров, занимавшийся моделированием воздушных боёв с русскими самолётами, спросил, не будет ли его пасынок заинтересован в подработке на неполный рабочий день? Уже на следующий день этот офицер ввел мальчика в прохладную комнату сплошь уставленную большими компьютерами. За черной тканью, закрывавшей обзор, угадывались карты, чертежи, механизмы. Ему сказали, что от него требуется помощь в переводе программы с языка большого компьютера (мэинфрейма) на персональный компьютер. На мониторе Ромеро увидел грубо отрисованный действующий симулятор полёта. “Никаких проблем”, ответил он, “я знаю об играх всё.”

Ромеро был готов к дальнейшим успехам. К этому времени в мире компьютер стал символом эпохи, её иконой. Журнал Таймс даже поместил фотографию компьютера на свою обложку, подписав в место обычного “Человек года” – “Компьютер 1982 года”. Игры для компьютера стремительно набирали аудиторию, в то время как популярность телевизионных приставкок с грохотом рушилась вниз. Устаревшие игры и техническое оснащение привело “Атари” к 596 миллионам убытков в одном только 1983 году, и это в то время как домашние компьютеры стремительно развивались. Commodor VIC20 и Commodor 64 смогли превзойти по популярности Apple II, превысив в своих продажах 1 миллиард экземпляров. А этим компьютерам тоже нужны были игры.

Для ребенка серьезно занимавшегося программированием игр было две мечты попасть в серьёзные издания зарождающейся промышленности. Это были “Sierra-On-Line” и “Electronics Arts”. Ромеро понимал, что для него это было весьма труднодоступно в буквальном смысле, потому что обе этих фирмы находились в Соединенных штатах. В пределах же досягаемости оставалось только распространение через специализированные журналы, которые печатали программные коды игр в своих приложениях. Для того, что бы сыграть читатель должен был сам старательно ввести напечатанную программу в свой компьютер.

Поэтому всё ещё находясь в Англии Ромеро каждую свою свободную минуту занимался написанием игр и отсылал их в журналы для публикации, но всё уходило словно в пустоту. Отсутствие каких либо финансовых результатов постепенно увеличивало недовольство отчима и привело к возрождению старых сражений и перепалок. Ромеро это незамедлитель отразил в новой своей серии комиксов “Melvin”. Сюжет в них был один и тот же – Мелвин, мальчик, у которого был лысый, в темных очках, отчим, и в этой картинке легко угадывался реальный отчим Джона. И этот отчим заставлял Мелвина выполнять какие то действия и всё это ужасно заканчивалось. Например мальчик должен был помыть посуду, но вместо этого исчезал играть в компьютерные игры. После обнаружения этого его отец ждёт когда Мелвин заснёт, а затем орет страшным голосом в ухо “Ах ты маленький сученок!”, после чего бьёт его в лицо, разбивая то в кровавое месиво. Надо сказать, что Ромеро был не единственным, чьи идеи отражались в его комиксах. В школе и другие ребята зная про это увлечение, и так же давали ему новые сюжеты для судьбы Мелвина. Ромеро все их отрисовывал и при этом многократно усиливал кровавые подробности. Но именно этот беспредел и восхищал его поклонников.

Популярность изменила его. Он стал слушать хеви-метал группы Judas Priest, Metallica, Motley Crue. Стал встречаться с полудюжиной девушек одновременно, и лучшая из них стала его постоянной подругой. Это была умная, интересная и общительная девушка, дочь высокопоставленного офицера базы. Она приучила Джона носить качественные рубашки, дорогие, хорошие джинсы, познакомила со своим кругом знакомых. После многих лет втаптывания и унижений отчимом, Ромеро впервые узнал человечное отношение.

В шестнадцать лет Ромеро мечтал теперь только о том, что бы получить такое же признание для своих игр. И внезапно, после восьми месяцев попыток 5 марта 1984 года, из редакции журнала Apple пришли хорошие новости. Редактор, вернувшийся из длительной командировки, написал, что журнал готов опубликовать код игры “Поиск разведчика”, написанной Ромеро. Это была игра низкого разрешения, в которой игроку необходимо было собрать все точки в лабиринте, и при этом не попасться голодному медведю. Игра была небольшой, но забавной, и её публикация принесла Ромеро 100 долларов. Так же в письме сообщалось, что журнал будет не прочь опубликовать, возможно, и другие работы мальчика, “… как только отойду от похмелья и рассмотрю присланные тобой ранее письма”, писал редактор. Ромеро сразу же всю свою энергию направил на написание как можно большего количества игр. На написание одной игры он тратил примерно полдня времени. Он старался соблюдать традицию давая играм названия из двух слов — Нападение пришельцев, Пещера крестоносца. Он становился все более и более нахальным. “Когда я выиграю премию месяца (за программирование)”, писал он в журнал, “я получу 600 долларов, но что такое 600 долларов? А вот премия года уже 1000 долларов, и её я выиграю тоже”. И он подписал это письмо — “Джон Ромеро. Программист.” И, да, он выиграл эту премию.

Успех вдохновил его попробовать, восстановить связь со своим настоящим отцом, в Америке, который проживал в штате Юта. Письмо отцу он написал на фирменном бланке игровой компании “Capitol Ideas Software”, что бы подчеркнуть, как далеко он прошел, и рассказать отцу все свои победы, заслуги и публикации. “Я изучал программирование четыре с половиной года” написал Ромеро, “теперь мои знания в программировании перешли на гораздо более высокий уровень”. А подписал это письмо он – “Джон Ромеро, первоклассный программист и в будущем богатый человек.” Он уже был на этом пути и чувствовал это. Но до того как стать “в будущем богатым человеком”, ему ещё предстояло отправится в путешествие из Англии обратно в Америку.

Желание Ромеро сбылось в 1986, когда он вместе с семьей вернулся в Калифорнию. Он попал в тот же самый Колледж Сиерра, в котором и должен был закончить своё обучение. Его игры продолжали публиковать. Почти всё, что он посылал, попадало в журнальные публикации, а некоторые игры даже попали и на обложку компьютерного журнала. А однажды при посещении БургерКинг он встретил свою будущую жену, это была Келли Митчелл. В один из дней она зашла в кафе и заметила из-за кассового аппарата заинтересованный взгляд Ромеро, и именно с этого началось их знакомство. Келли была из семьи мормонов, с достатком значительно выше среднего, и жила с родителями в красивом доме на холме, расположенном в городской черте. Хотя Джон и раньше встречался с другими девушками, но никто из них не мог сравнится с Келли, пусть даже она ничего и не понимала в играх. Для 19-летнего Ромеро это был шанс создать семью. Свою семью, которой у него никогда нормально не было. Он сделал Келли предложение и в 1987 году они поженились.

Он решил, что это знак, судьба благоволит ему, и решил попытаться найти и работу своей мечты. К этому времени у него уже были сделаны десятки игр, в этом году он заканчивал колледж, и у него уже была семья. И теперь ему нужен был подходящий случай. Такой случай представился 16 сентября 1987 года, на встрече фанатов компьютера Apple, так называемом Applefest-е. Ромеро прочитал о нем в журнале и, так как вращался в этом кругу, знал почти всех кто будет там: это будут разные крупные издатели, “Origin”и “Sierra”, будут представители компьютерных журналов, в том числе и те, которые уже выпускают написанные им удачные игры, например такие как Uptime, Nibble, и InSider, и поэтому следует съездить и пообщаться с коллегами и конкурентами.

Он прибыл на конференцию в Сан-Франциско, и увидел там множество любителей сидящих со своими распечатками перед мониторами. Столы в помещении были завалены глянцевыми журналами, а на обложке одного из них мелькнула его Nibble. В какой то кабинке для игр он увидел свою игру на дискете, потом разглядел свои произведения ещё на каких то мониторах. “О да,”- подумал Джон, ”тут я неплохо поработал”. В одной из кабинок Джон встретил и познакомился с Джеем Уилбуром, редактором журнала Uptime, который предложил ему работу. Джей, двадцатисемилетний бывший бармен, выглядел как большой полный ребенок. Для себя Джей определил ситуацию c Ромеро так, новый, но достаточно сильный программист, который понял волшебную формулу, по которой сначала берёшь количеством, в данном случае написанных игр, и потом это может перерасти в одну игру, но качественную. Поэтому и решил предложить Ромеро работу. Ромеро же, с типичной бравадой ответил, что он пока подумает.

Задумавшийся о будущей работе, Ромеро наклонил голову вправо и заглянул в соседнюю кабинку компании “Origin”. Там на экране он увидел крупный баннер “Ultima V: Coming October 31!” (Ультима-5. Выход 31 октября), он сел за эту машину, вставил туда свою дискету и стал быстро просматривать жесткий диск компьютера. Внезапно сзади раздался возмущенный окрик, это появившаяся женщина из отдела маркетинга “Origin” стала возмущаться его действиями – “Что вы задумали? Вы собираетесь скопировать к себе игру с этой машины!”

Ромеро нажал пять клавиш – “Лучше посмотрите вот на это”, сказал он. На экране появился плавно, но быстро движущийся лабиринт. Он недавно написал эту программу, используя приём удвоения графики, что смогло удвоить яркость и качество изображения. Так называемая графика двойного разрешения считалась верхом программирования, а тут какой-то молодой паренек демонстрировал ей то, что было гораздо выше чем мерцающая на экране Ультима-5. У неё был только один вопрос – “Вы ищете работу?”

Два месяца спустя, в ноябре 1987, Ромеро переехал через всю страну, что бы приступить к работе в компании “Origin”, в Нью-Хемпшире. Уставший, но не сломленный он выписал чек для оплаты их нового жилья. Он приехал вместе с Келли, которая была в положении и ожидала рождения в феврале их первого ребенка. Келли была не столь воодушевлена переездом туда, где часто бывает снег, но Ромеро использовал всё своё обаяние, что бы убедить её, что всё будет хорошо. Его жизнь, как первоклассного программиста была на пути к становлению Богатой Особой, как он и обещал когда то.

Обещание провалилось. Несмотря на первоначальный успех в “Origin”, Ромеро, вместе со своим руководителем, ввязались в азартную игру, в которой решили открыть свою отдельную, новую компанию. Новый бизнес не пошел и Ромеро, в 21 год, с сыном Майклом, женой Келли, снова находящейся в положении их вторым ребенком, оказался без работы. Тут начались проблемы с Келли, которая стала уставать от сложившейся у них ситуации. У Ромеро совсем не было денег, и она решила вернуться к родителям в Калифорнию, что бы там нянчится с двумя детьми. В какой то момент Ромеро позвонил ей и сказал, что у него ничего не осталось, ни жилья, ни работы, и он ночует на диване у приятеля.

Но Ромеро не собирался ложиться и умирать. У него была мечта и у него была семья, которую он любил. Он хотел быть таким отцом, какого не было у него самого. Он хотел не просто поддерживать игры детей, но и играть вместе с ними. Тогда Ромеро позвонил по телефону Джею Уилбуру, что бы обсудить будущую работу. Уилбур сказал, что он сам недавно переехал и работает у своих бывших конкурентов, компании “SoftDisk” размещавшейся в Шривпорте, штат Луизиана. “Приезжай, может быть,” предположил Уилбур, “и тебе здесь найдется работа.” У Ромеро не было теперь повода, что бы раздумывать и он отправился туда. Там был более лучший климат и там были игры. И там он надеялся стать самым сильным игровым программистом.
Продолжение истории — скоро на GitHub Александра.

ссылка на оригинал статьи http://habrahabr.ru/post/200374/

PayPal запрещает вывод денег из Flattr в России

Недавно выяснилось, что по новым правилам PayPal
в России, пожертвования (с помощью кнопки «Donate») принимать нельзя.

Вот сообщение саппорта paypal:

На данный момент открыть счет PayPal
в России для получения пожертвований невозможно в связи с различными правилами финансирования


Возникло подозрение, что запрещены пожертвования в любом виде, например переводы от Flattr, что и подтвердил саппорт PayPal:

Вы не можете принимать переводы от FlattrNetworksLtd, так как данный процесс все же является приемом пожертвований.

Сам Flattr не стал комментировать/расследовать ситуацию:

If they say that, it’s how it is. We have no say over PayPal I’m afraid. It’s probably due to some financial laws changing in Russia. Usually that is what controls what can/can’t be done.

Вывод: выводить деньги из Flattr, не нарушая правил, можно только через Skrill (и проще, наверное, вообще не выводить 🙂 ), а при получение перевода в PayPal из других
источников, нужно убедиться что это не «пожертвование».

ссылка на оригинал статьи http://habrahabr.ru/post/200404/