(Серия: Сельскому учителю в помощь)
Оглавление
Вступление
Эти восемь человек возникли не из вакуума
История Unix
Угроза национальной безопасности США
Нельзя просто так стать системным инженером
Книги под запретом
Операция по укрощению интеллектуального класса. Власть идёт в университеты
Бунтующий MIT 1970 гг.
Свободные операционные системы
Хакеры
Code rush и крах компьютерной культуры и возможностей 1970-90 гг.
Код значимых проектов всегда писали только хакеры
Волшебство исчезло, поскольку исчезли волшебники
Crash Bandicoot в пустыне игр
Печальная история кустарей
Итоги
Дополнительно о школьном образовании
Литература
ВСТУПЛЕНИЕ

«Плывут две юные рыбки, а навстречу им рыбка постарше, кивает и говорит: «Привет, ребятки, ну, как вода?» Рыбешки плывут дальше, а потом одна спрашивает у другой: «Что ещё за «вода»?»
Идея этой истории проста: именно самые очевидные и важные стороны окружающей реальности зачастую сложнее всего увидеть. Я прошу вас вспомнить о рыбках и воде и на немного осадить свой скепсис в оценке значимости абсолютно очевидного. Многое из того, в чем мы непроизвольно уверенны, совершенно неверно. Из-за слепой уверенности и недальновидности узник даже не подозревает, что заперт.
Ценность настоящего обучения связана не со знанием, а с осознанием. С умением выбирать и видеть то, что реально, что существенно, хотя так успешно спрятано прямо у нас на виду, что мы должны повторять себе снова и снова: «Это вода». «Это вода»». (Дэвид Фостер Уоллес) [39]
Распространение информации через средства массовой информации (СМИ) называют пропагандой. Выбирать книги, учебу и профессию, не зная историю предмета, ориентируясь лишь на пропаганду – крах, а не глупость.
Ниже историческое исследование (оно же – расследование): Почему мало хороших книг по системному программированию? Примеры покажут, что глубокие знания о компьютерах распространялись вопреки, а не благодаря обстоятельствам.
Цитируемые документы, включая код Unix v.6 и книгу «Lions’ Commentary on Unix 6th Edition, with Source Code» лежат в репозитории [1]. Иллюстрации: работы уличных художников «взламывающих» урбанистку. [33]
1. ЭТИ ВОСЕМЬ ЧЕЛОВЕК ВОЗНИКЛИ НЕ ИЗ ВАКУУМА
Массачусетский технологический институт 1960 гг.
Массачусетский технологический институт 1960 гг. В комнате с мейнфреймом PDP-1 пахнет озоном и нагретым ламповым лаком. Группа молодых людей в рубашках с коротким рукавом и логарифмическими линейками в карманах не спит третьи сутки. Они называют себя «хакерами» – исследователями, для которых доступ к вычислительной машине является базовым человеческим правом. Они только что завершили Spacewar! – первую в мире компьютерную игру. На экране с электронно-лучевой трубкой две абстрактные геометрические точки, «Игла» и «Клин», ведут дуэль, подчиняясь законам баллистики и притяжения тяжелой звезды в центре. Здесь нет коммерческого умысла. Код распространяется свободно на перфолентах. Философия проста: «Вся информация должна быть свободной. Программы должны улучшаться общими усилиями».
Среда 1960 гг. рождает первое поколение хакеров 1970-80 гг. Вот истории некоторых из них.

Стив Возняк и Apple II
В 1975 г. Стив Возняк собирает прототип, который позже назовут Apple I. Это сырой продукт для хакеров, собиравших с паяльником компьютеры. Картинка выводится на экран медленно, как в терминалах: буква за буквой, построчно сверху вниз. В 1976 г. Возняк с Джобсом регистрирует фирму и разрабатывает принципиально новую машину – Apple II. Но у них нет денег на массовое производство.
Джобс показывает Apple II Майку Марккула – инженеру и инвестору из Intel. Марккула, профессионал в микроэлектронике, поражён: компьютер работает быстро, мгновенно выводит цветной экран, но на плате почти нет микросхем! Он понимает, что это золотая жила, и в 1977 г. обеспечивает фирму личными ($250 000) и банковскими деньгами и становится её сооснователем.
В чём секрет Apple II? Возняк изучил диаграмму тактовой частоты процессора MOS 6502 и увидел совпадение: память нужна только половину тактового цикла, затем процессор занят вычислениями и к ней не обращается. Возняк уничтожил избыточность и объединил ОЗУ и видеопамять в компьютере. Схема видеовывода обновляет экран, когда процессор не читает инструкций. Там, где Atari ставит 50 микросхем, он обходится десятью. Скорость доступа к видео позволяет Возняку в одиночку за пару недель написать на BASIC полноценную игру Breakout (Арканоид).
В 1977 г. Возняк модифицирует дисковод. Тогда дисководы были размером с тумбочку. Возняк заменяет стандартный контроллер с десятками микросхем 8 простыми микросхемами (главная – копеечная микросхема программируемой логики ПЗУ в 256 байт) и перекладывает часть работы на процессор. На магнитный диск нельзя писать много нулей подряд – головка «теряет ориентир», и «не понимает», где заканчивается один бит и начинается другой. Возняк заменяет аппаратное FM-кодирование своим методом GCR (Group Code Recording). Стандартные 8-битные байты получают 5-6 битные эквиваленты, где нет более двух нулей подряд. При этом на дискету помещается на 50-70% больше данных, чем на стандартном контроллере дисковода. Далее – победа над скоростью вращения мотора. Дисковод требует идеальной стабилизации скорости. Возняк убирает аналоговые платы стабилизации, и пишет программу, подстраивающуюся под текущую скорость вращения магнитного блина. Если мотор крутится чуть быстрее или медленнее – код «налету» вычисляет сдвиг по фазе битов. Возняк рассчитывает время выполнения каждой ассемблерной инструкции процессора в наносекундах, и достигает феноменальной точности. Программа опрашивает диск и отправляет биты строго в соответствии с физикой вращения диска.
В 1970 гг. Возняк с Джобсом собирали и продавали Blue Boxes – устройства, имитирующие тональные сигналы телефонных сетей для бесплатных звонков по всему миру. В 1960 гг. Джо Энгрессия (Joybubbles) слепой от рождения мальчик с абсолютным слухом, обнаружил, что может насвистывать нужные звуки в телефонную трубку ртом, переключая линии и совершая бесплатные звонки. Джон Дрейпер он же «Капитан Кранч» первым начал собирать аналоговые схемы для генерации этих частот. Журнал легендарного Джерри Рубина изобретателя нетворкинга и автора знаменитого манифеста «Действуй! Сценарии революции» [34], YIPL (Youth International Party Line), первая печатная площадка, публиковавшая инструкции, как собрать «синюю коробочку», как бесплатно звонить с автоматов и как обманывать АТС. [2] Возняк даже дозвонился в Ватикан, представившись Генри Киссинджером.
Пол Аллен, Билл Гейтс и эмулятор Intel 8080
1975 г. Для компьютера Altair 8800 нет софта, клавиатур и мониторов – только переключатели на панели. Пол Аллен и Билл Гейтс совершают невозможное: пишут интерпретатор языка BASIC для процессора Intel 8080, не имея самого компьютера. Аллен по спецификации процессора пишет эмулятор Intel 8080 для мейнфрейма PDP-10, а Гейтс оптимизирует код интерпретатора на ассемблере, чтобы уместить в 4 Кб памяти.
В Сиэтле они получили доступ к администраторскому паролю корпорации C-Cubed, чтобы взломать зашифрованный файл с аккаунтами пользователей ради бесплатного компьютерного времени. Также они взломали школьную систему составления расписания, чтобы Гейтс учился в классах, где он был единственным парнем. Позже Гейтс взломал систему CDC в Университете Вашингтона, одновременно обрушив сеть компьютеров, за что получил строгий выговор и временный запрет на работу с ЭВМ.
Циничные законы большого бизнеса делают романтика Гейтса безжалостным бизнесменом. Когда в 1980 гг. его лучший друг детства и сооснователь Microsoft Пол Аллен заболел раком, директора Гейтс и Балмер тайно обсуждают, как размыть и забрать его акции за бесценок. Аллен случайно услышал этот разговор, оскорбился и ушел из компании, описав это в мемуарах «Idea Man».
Билл Гейтс, а точнее Уильям Генри Гейтс III, потомственный миллионер из истеблишмента. Прадед, Джеймс Уиллард Максвелл (1864-1951), президент Национального банка Сиэтла и директор филиала Федерального резервного банка Сан-Франциско, мэр города Саут-Бенд, законодатель штата Вашингтон (State Legislator). Контролировал финансовую систему региона, писал законы для штата, и управлял городом. Мать Мэри Максвелл Гейтс (1929-94), была в совете директоров Первого межгосударственного банка Вашингтона, гиганта телекома KIRO-TV, членом совета университета Вашингтона. После её разговора с директором IBM, Microsoft получает контракт на поставку операционной системы для IBM PC, принёсший миллиарды Гейтсу.
Не все уважают миллиардеров. В 1998 г, при входе в правительственное здание в Брюсселе Билл Гейтс получает бросок тортом в лицо. Шутник скрылся, но его помощник и оператор задержаны, а затем отпущены, поскольку известный «тортометатель», бельгиец Ноэль Годен, появился на телевидении, и взял вину на себя. Среди организаторов и прямым исполнителем этой акции был известный бельгийский режиссёр Реми Бельво. Возбуждать судебное дело Гейтс не стал.
Шон Паркер, Шон Фэннинг и Napster

Стрит-арт, уличный художник Бэнкси [36]
Шон Паркер (Shawn Parker) – легенда Кремниевой долины, хакер и первый президент Facebook. Родился в 1979 г. в Вирджинии. Его отец, океанограф, научил сына в 7 лет программировать на Atari 800 XL.
К 15 годам под ником Yak Шон взламывал сети университетов, корпораций и правительственных баз данных. В 16 лет он взломал сеть компании из списка Fortune 500. Его отец, разозлившись, что сын сидит за компьютером всю ночь, отобрал у него клавиатуру прямо посреди сессии. Шон не успел разлогиниться и скрыть следы. Через несколько дней в их дом ворвались агенты ФБР. Несовершеннолетнего Шона приговорили к общественным работам.
Набравшись опыта, Паркер вступил в хакерскую группу w00w00, где познакомился с Яном Кумом (WhatsApp) и Шоном Фэннингом. В 19 лет с Фэннингом они запускают Napster.
В 2004 г. Паркер видит соцсеть Facebook. Он едет в Пало-Альто, встречается с Цукербергом и становится первым президентом компании Facebook.
Паркер помнил, как венчурные капиталисты выкинули его из его же проектов (софт-компании Plaxo и других). Они захватывали совет директоров и увольняли основателей-подростков из их же компаний. Паркер разделил акции Facebook на обычные и голосующие. Когда доля Цукерберга в компании упала ниже 50%, тот сохранил большинство голосов в управлении компанией. Инвесторы не могли уволить Цукерберга.
Шон Фэннинг (Shawn Fanning) выходец из хакерской группы w00w00. В 1999 г. создает пиринговую сеть Napster для бесплатного обмена файлами mp3.
Музыкальные лейблы засудили его компанию, но Napster навсегда изменил интернет. Глядя на успех Napster Стив Джобс создаёт онлайн-магазин iTunes, и продаёт треки поштучно по 99 центов. Основатель Spotify Даниэль Эк создал сервис потому, что «в юности был фанатом Napster и хотел всю музыку мира сделать доступной в один клик».
Создатели BitTorrent довели идею обмена файлами Napster до идеала.
Ян Кум и WhatsApp
Ян Кум (Jan Koum) переехал в США из Украины в 16 лет. Сам изучал сети и программирование по учебникам из проката. Вступил в хакерскую группу w00w00, где общался с будущими звездами компьютерного мира, занимался уязвимостями различных систем. Глубокие знания сетевых протоколов помогли ему создать программу для обмена сообщениями WhatsApp и продать его за $19 млрд Facebook. В штате WhatsApp было всего 50 инженеров.
Серверы WhatsApp написаны на Erlang – редком функциональном языке, созданном в 1980 гг. компанией Ericsson для телефонных станций. Сервер WhatsApp держит 2 миллиона TCP-подключений одновременно, клиент потребляет минимум сетевого трафика и работает даже на простых телефонах и «умирающих» сетях (Кум создаёт продукт для людей, он не переносит рекламу).
Джон Кармак и диссертации SIGGRAPH
В 1993 г. Джон Кармак выпускает 3D шутер DOOM с динамическим освещением, академическим алгоритмом разбиения геометрии на BSP-деревьях, сетевыми протоколами IPX и TCP/IP. Вместо продажи картриджей или дисков 9 уровней игры выложены в интернет бесплатно, и желающие скачивают игру с BBS-серверов и копируют друзьям. Миллионы людей начинают играть в рабочее время и «ложат» от перегрузки локальные сети университетов и крупных компаний. В 1997 г. исходный код Doom Engine публикуют под свободной лицензией.
Мать Кармака работала в ядерной медицине. Джон имел доступ к университетским библиотекам, заказывал распечатки диссертаций SIGGRAPH (главная конференция по компьютерной графике), читал статьи ученых на академическом сухом языке, полные интегралов и матриц.
Нельзя просто начать «читать распечатки диссертаций SIGGRAPH». Кармак самостоятельно проработал классические вузовские учебники по линейной алгебре. Исчисление векторами и матрицы преобразования координат выучены им до автоматизма, а статьи SIGGRAPH состоят из букв этого «базового языка».
Кармак осваивает в совершенстве культовая книгу MIT «SICP» (Structure and Interpretation of Computer Programs) [3]. Она учит не синтаксису языка, а развивает способность видеть структуры, графы, деревья.
Исходники операционных систем, графических библиотек и чужих программ читаются им и как художественная литература. Кармак знает наизусть таблицы ассемблерных команд, и помнит количество тактов процессора каждой. «Компилирует» код у себя в голове, прямо управляя процессором и видеопамятью, и переписывает математические формулы на самых «дешевых» командах.
В 1984 г. в 14 лет Джон отсидел 1 год в тюрьме для несовершеннолетних за попытку ночной кражи компьютеров Apple II из школы в богатом квартале. Он смешал термит (горючую смесь) с вазелином и прожег оконное стекло, но его подельник застрял в окне, и сработала бесшумная сигнализация.
Ричард Столлман и Radio Free OZ
В 1971 г. 19-летний студент первокурсник физического факультета Гарварда Ричард Столлман подрабатывает в Лаборатории искусственного интеллекта MIT AI Lab, и остаётся в ней штатным сотрудником.
В 1977 г. свободный компьютерный софт лаборатории заменяют закрытым. Считая это ограничением свободы, Ричард снимает с компьютеров защиту, и ведёт саботаж под псевдонимом «Radio Free OZ». Затяжной конфликт с администрацией выливается в концепцию Free Software.
В 1984 г. Столлман увольняется из MIT, но сохраняет статус «приглашенного ученого» (Visiting Scientist). Иначе, софт которые он пишет, станет собственностью университета.
15 лет, до конца 1990 гг., Столлман проживал в MIT в кабинете в корпуса NE43. Он не тратит деньги на аренду и не снимает квартиру. На полу его офиса лежит матрас, где он спит. В избирательной комиссии США, постоянным местом его жительства указан адрес этого кабинета.
Профессора и студенты, тайно дают ему ключи, пускают за терминалы и позволяют круглосуточно занимать вычислительные мощности.
Дверь в свой кабинет Столлман принципиально держит открытой, и коридор, где он жил, становится легендой кампуса. Часть студентов обходят его стороной: из-за эксцентричного быта хакера комната завалена распечатками кодов, книгами, деталями электроники, а сам Столлман мог часами ходит босым по коридорам. [4]
За это время Столлман создаёт лицензию GPL (Copyleft), Фонд свободного программного обеспечения, компилятор GCC, отладчик GDB и среду GNU, куда Линус добавляет ядро Linux. Текстовый редактор GNU Emacs – среда выполнения с встроенным Lisp. В ней можно читать почту, компилировать код и играть в игры. Шутят, что это операционная система, где временно нет хорошего текстового редактора.
2. ИСТОРИЯ UNIX

В 1913 г. Bell System (будущая AT&T) становится регулируемой монополией. Ей запрещено скупать операторов связи, но государство гарантирует ей отсутствие конкурентов. К 1970 гг. это крупнейшая корпорация на планете, где работает около 1 миллиона человек (каждый сотый работающий американец тех лет). Главный союзник – Министерство обороны США (Пентагон).
Bell Telephone Laboratories (Bell Labs) – научный центр корпорации. Здесь изобрели транзистор, лазер, язык С и операционную систему Unix.
История Unix начинается в Building 11 (Корпус 11) – временной, простой двухэтажной постройке, полушутя-полусерьезно называемой сотрудниками «бараком». Bell Labs закрыл проект операционной системы Multics, посчитав его дорогим и неперспективным. Кен Томпсон и Деннис Ритчи остались без доступа к мейнфреймам и без финансирования. Они буквально «захвати» ненужный PDP-7 в углу Корпуса 11. И без ведома руководства в 1969 г. пишут базовую версию Unix. [5]
***
ЛОГИЧЕСКИЕ МОДУЛИ ОПЕРАЦИОННЫХ СИСТЕМ +-------------------+-----------------+----------------+-----------------------------------------------------+ | Компонент ядра / | Логические | Назначение | Математический Алгоритм / | | Подсистема | единицы | | Реализация | +-------------------+-----------------+----------------+-----------------------------------------------------+ | Диспетчер | Процесс / Поток | Управление | Очереди с приоритетами, многозадачность. | | процессов | (Process / | процессором | Переключение контекста (Context Switch), сохранение | | (Scheduler) | Thread) | | регистров, планирование (Round-Robin, CFS, MLFQ). | |-------------------+-----------------+----------------+-----------------------------------------------------| | Менеджер памяти | Виртуальный | Распределение | Таблицы страниц (Page Tables), переключение и | | (Memory Manager / | адрес (Virtual | RAM и SWAP | замещение страниц памяти (LRU, Клок), TLB-кэш. | | MMU) | Memory) | | | |-------------------+-----------------+----------------+-----------------------------------------------------| | Виртуальная | Файл / Инод | Структурирован-| Деревья (B-Trees, B+ Trees), графы директорий. | | Файловая Система | (File / Inode) | ное хранилище | Битовые карты занятых блоков, | | (VFS) | | данных | журналирование (Индексы, транзакции, кэш). | |-------------------+-----------------+----------------+-----------------------------------------------------| | Подсистема IPC | Сигнал / Канал | Межпроцессное | Синхронизация через мьютексы, семафоры Дейкстры, | | (Inter-Process | (Pipe / Socket) | взаимодействие | кольцевые буферы (память FIFO), разделяемая память | | Communication) | | | (Shared Memory), очереди сообщений. | |-------------------+-----------------+----------------+-----------------------------------------------------| | Обработчик | Прерывание | Реакция на | Таблицы прерываний (IVT/IDT). | | прерываний | (Interrupt / | аппаратные | Переход процессора из User Space в Kernel Space | | (Interrupt Filer) | Trap) | события | | |-------------------+-----------------+----------------+-----------------------------------------------------| | Драйверы и | Блочное / | Интерфейс | Очереди ввода-вывода (I/O Requests), | | Подсистема Ввода/ | Символьное | к физическому | алгоритмы планирования работы диска (Elevator / | | Вывода (I/O Core) | устройство | железу | SCAN), прямой доступ к памяти (DMA), буферы. | |-------------------+-----------------+----------------+-----------------------------------------------------| | Сетевой Стек | Сокет / Пакет | Коммуникация | Сетевые протоколы (TCP/IP, UDP). | | (Network Stack) | (Socket / Buffer| | Конечные автоматы состояний соединений, скользящее | | | | | окно (Sliding Window), маршрутизация пакетов. | |-------------------+-----------------+----------------+-----------------------------------------------------| | Интерфейс систем- | Системный вызов | HAL / API | Программные прерывания (int 0x80 / sysenter). | | ных вызовов | (Syscall / API) | операционной | Шлюз перехода из пространства пользователя в ядро, | | (Syscall Interface| | системы | таблица syscalls. Hardware Abstraction Level, | | | | | сокрытие деталей конкретного оборудования | |-------------------+-----------------+----------------+-----------------------------------------------------| | Менеджер | Токен / ACL | Безопасность и | Разграничение привилегий (кольца защиты). | | безопасности | (Credentials) | изоляция | Матрицы и списки доступа (ACL) | | (Security / Auth) | | | | +-------------------+-----------------+----------------+-----------------------------------------------------+
В 1956 г. суд запрещает AT&T продавать любую компьютерную продукцию, и та распространяет Unix по университетам бесплатно.
Unix это не просто исходный код ОС на С, это кодовая база алгоритмов. Главная идея: ОС это множество доменных языков и компиляторов. Сделано лучшими умами, по науке, каждый может изучать и модифицировать алгоритмы.
+-------------+-------------+----------------+-----------------------------+ | Имя файла / | Язык / | Тип | Кто написал / | | Команда | Инструмент | | Примечание | +-------------+-------------+----------------+-----------------------------+ | /bin/cc | C (Ранний | Компилятор | Деннис Ритчи. | | | Си) | | До-стандартная версия, | | | | | основа всей ОС. | |-------------+-------------+----------------+-----------------------------| | /bin/as | Assembler | Ассемблер | Кен Томпсон / Деннис Ритчи. | | | (PDP-11) | | Для низкоуровневых частей | | | | | ядра. | |-------------+-------------+----------------+-----------------------------| | /usr/bin/b | B (Язык Би) | Интерпретатор | Кен Томпсон. Предшественник | | | | | Си, оставлен для | | | | | совместимости. | |-------------+-------------+----------------+-----------------------------| | /usr/bin/ba | BASIC (bas) | Интерпретатор | Кен Томпсон. Специфический | | s | | | гибрид Бэйсика и языка B. | |-------------+-------------+----------------+-----------------------------| | /usr/bin/ya | Yacc | Генератор | Стивен Джонсон. «Компилятор | | cc | | парсеров | компиляторов» для создания | | | | | синтаксических | | | | | анализаторов. | |-------------+-------------+----------------+-----------------------------| | /usr/bin/tm | TMG | Компилятор | Боб Макклюр. | | g | | компиляторов | Для сборки раннего языка B. | |-------------+-------------+----------------+-----------------------------| | /usr/bin/m6 | M6 | Макропроцессор | Универсальный текстовый | | | | | макроязык (предшественник | | | | | m4). | |-------------+-------------+----------------+-----------------------------| | /bin/sh | Thompson | Скриптовый | Кен Томпсон. Интерпретатор | | | Shell | язык | командной строки и первый | | | | | язык сценариев. | |-------------+-------------+----------------+-----------------------------| | /usr/bin/dc | Desk | Калькулятор | Кен Томпсон. Интерактивный | | | Calculator | | язык вычислений с обратной | | | (dc) | | польской записью. | |-------------+-------------+----------------+-----------------------------| | /usr/bin/bc | BC | Математический | Безтиповый С-подобный язык | | | | язык | для вычислений (транслиро- | | | | | вался в команды dc). | |-------------+-------------+----------------+-----------------------------| | /usr/bin/fc | Fortran IV | Компилятор | Поставлялся как | | / fort | | | дополнительная утилита в | | | | | некоторых редакциях V6. | |-------------+-------------+----------------+-----------------------------| | /usr/bin/ra | Ratfor | Препроцессор | Брайан Керниган. Позволял | | tfor | (Rational | | писать на Фортране в | | | Fortran) | | Си-стиле. | |-------------+-------------+----------------+-----------------------------| | /usr/bin/nr | ROFF / | Язык разметки | Джо Оссанна. Полноценный | | off / troff | TROFF | текста | Тьюринг-полный язык для | | | | | форматирования документов и | | | | | книг. | +-------------+-------------+----------------+-----------------------------+
BC (Basic Calculator) – язык для математики. Входит в стандарт POSIX (Linux, macOS, BSD). Переменные BC это числа произвольной длины. Встроенная переменная scale устанавливает точность следующих за ней операций (от целых до тысяч знаков после запятой).
Лорринда Черри присоединилась к команде программистов-бунтарей из Корпуса 11 (где зарождались идеи) и намеренно взяла грамматику С для BC.
Сравнение кода на C и BC +------------------------------+---------------------------+ | Код функции на C | Код функции на bc | +------------------------------+---------------------------+ | int gcd(int a, int b) { | define g(a, b) { | | while (b != 0) { | while (b != 0) { | | int t = b; | auto t; | | b = a % b; | t = b; | | a = t; | b = a % b; | | } | a = t; | | return a; | } | | } | return (a); | | | } | +------------------------------+---------------------------+
3. УГРОЗА НАЦИОНАЛЬНОЙ БЕЗОПАСНОСТИ США

Аарон Шварц 1986-2013 [42]
К 1970 гг. компьютерщики становятся неуправляемы, а разработка программ «буксует».
Бюрократия, генералы и директора корпораций не понимают, что делают «компьютерные мальчики»: интеллектуально независимые с глубоким инженерным образованием, «недисциплинированные, высокомерные и не поддающиеся корпоративному контролю». [6] Это подрывает государственную безопасность США.
Военные НАТО и Пентагона проводят в 1968 г. (Гармиш, Германия) и 1969 г. (Рим, Италия) конференции по «Программной инженерии» [7]. После них власть отнимают у учёных и возвращают в руки менеджеров (надзирателей). Те не смыслят в науке, но умеют управлять покорной толпой. На умственный труд переносят принципы конвейера Форда («тейлоризм») и государство целенаправленно сворачивает целостное инженерное образование.
4. НЕЛЬЗЯ ПРОСТО ТАК СТАТЬ СИСТЕМНЫМ ИНЖЕНЕРОМ
Профессор Джон Лайонс столкнулся с проблемой: университетские комплексы от IBM закрыты и избыточны, студентам не на чем учить операционные системы. Но в Австралию прибывает исходный код 6-й редакции Unix – всего 10 000 строк на понятном языке C. Лайонс пишет к ним построчный комментарий «Lions’ Commentary on Unix 6th Edition, with Source Code» (1976 г.), впервые «препарирующий» операционную систему публично.
Студенты видят, как прост и элегантен код ядра и языки программирования, и это пугает корпорации. В 1979 г. AT&T вносит в лицензию запрет на изучение исходного кода Unix в университетах. Книгу Лайонса запрещают и изымают. В MIT и Беркли профессоров вынуждают прекратить лекции по Unix. Это первая масштабная попытка опустить завесу тайны на вычислительный мир.
Лишённый легальных книг инженеры тайно перепечатывают их на офисных ксероксах. Появляется термин «Lions Book» – пароль, открывающий доступ к закрытому знанию. Книгу передают из рук в руки, копиями обмениваются на радиорынках. В распространении участвуют… сами сотрудники Bell Labs и авторы Unix. Они «забывают» коробки с фотокопиями книги в коридорах университетов, дарят их лояльным профессорам. В 1994 г. книгу выкладывают в Usenet, и скрывать очевидное становится бессмысленно. В 1996 г. создатель UNIX Деннис Ритчи лично требует снять запрет, и книга выходит легально. [8]
5. КНИГИ ПОД ЗАПРЕТОМ

Не удивительно, что так мало хороших книг о важных частях оборудования и операционных систем. Эту информацию тщательно скрывают от независимых разработчиков.
Слежка в библиотеках
В 1970-80 гг. ФБР проводит секретную операцию в университетских и публичных библиотеках США. Без судебных ордеров от библиотек требуют раскрывать формуляры читателей. Агентов интересуют иностранцы и граждане, берущие книги по техническим наукам, продвинутой математике, шифрованию и военному делу. Почтовая служба США (USPS) фиксирует адреса отправителей и получателей книг.
В 1987 г. Американская библиотечная ассоциация (ALA) бунтует и обвиняет ФБР в нарушении права на конфиденциальность чтения [9]. Газета The New York Times публикует скандальные расследования о «Программе осведомленности о библиотеках» (Library Awareness Program) [10]. В ответ ФБР начинает травлю библиотекарей.
Книги – это оружие
В десятилетие «Вторых криптографических войн» 1991-2002 гг. Сенат США готовит закон №266 о добавлении во все системы связи «задней двери» (backdor) для правительства. В ответ инженер Фил Циммерман создаёт шифровальщик Pretty Good Privacy (PGP), и выкладывает его исходный код в прообраз Интернета сеть Usenet.
Правительство возбуждает уголовное дело и устраивает Циммерману трехлетний ад со слежкой и прослушкой телефонов. Но находится лазейка: MIT Press выпускает книгу «PGP Source Code and Internals». Это странная книга: в ней только исходный код программы, шрифт адаптирован для машинного распознавания, текст с контрольными суммами. Экземпляр книги официально покупают в США и законно, почтой отправляют в Европу. Таможня не может нарушить право на свободу печатного слова Конституции США, и бездействует. В Швейцарии инженер Стивен Хейз с группой добровольцев тут же расшивает книгу на листы и выпускает международную версию программы. Правительство прекращает травлю Циммермана. [11]
В 1994 г. государство приравняло книгу «Прикладная криптография» (Applied Cryptography) Брюса Шнайера к оружию. Книгу можно купить в США, но вывоз её кода карается тюрьмой. Ученые (Шнайер, Питер Юнг, Фил Карн и другие) судятся с правительством. Хакеры пишут алгоритм RSA в 4 строчки кода на Perl, и печатают его на визитках, татуировках, бамперах машин. Выезд с такой визиткой в Канаду юридически считается «контрабандой оружия». Люди одевают футболки с кодом и подписью «ВНИМАНИЕ: Эта футболка боеприпас по правилам экспорта США. Её нельзя показывать иностранцам и вывозить за границу» [31] и демонстративно ходят в них по аэропортам. В 1999 г. спецслужбы проигрывают суды Дэниелу Бернштейну, и код из книги становится открытым. [12]
За распространение знаний – в суд
Игровая приставка Xbox это обычный ПК на Intel Pentium III. В 2003 г. аспирант MIT Эндрю Хуан пишет книгу «Hacking the Xbox» по запуску на ней Linux. Из-за угроз Microsoft издательство Wiley в последний момент отменяет выпуск книги.
Чтобы спасти хакера от тюрьмы, вопреки запрету юристов, профессора MIT AI Lab официально публикую исследование Хуана как научный труд «Keeping Secrets in Hardware: the Microsoft XBox Case Study». Теперь иск Microsoft означает открытую судебную войну с MIT, и корпорация заключает с Хуаном мирное соглашение.
В 2013 г. в знак протеста и в память о другом студенте MIT Аароне Шварце, затравленном правительством до самоубийства за скачивание и распространение свободных научных статей из библиотеки JSTOR, Хуан выкладывает свою книгу в бесплатный доступ. [14]
API под запретом и «кошмар» в компьютерах
В 1992 г. Эндрю Шульман издаёт книгу «Undocumented Windows» с десятками скрываемых Microsoft API и утверждает, что Microsoft использует их в своих продуктах в ущерб другим разработчикам. Microsoft публично признаёт это.
В 2000 г. Минюст США в суде доказывает, что Microsoft умышленно водит технические барьеры. Суд цитирует внутреннее письмо вице-президента Microsoft Брэда Силверберга: «Мы должны сделать так, чтобы запуск Java-приложений в Windows был сплошным кошмаром для пользователя» (United States v. Microsoft Corp.).
В 2009 г. Европейский комитет по совместимым системам (IBM, Nokia, Opera, Corel и др.) публикует доклад по технологиям, намеренно уничтоженным Microsoft (DR-DOS, WordPerfect, Netscape, Sun Java, Apple QuickTime и др.). [13]
6. ОПЕРАЦИЯ ПО УКРОЩЕНИЮ ИНТЕЛЛЕКТУАЛЬНОГО КЛАССА. ВЛАСТЬ ИДЁТ В УНИВЕРСИТЕТЫ

Власть идёт в университеты
Ассоциация вычислительной техники (ACM) регулирует компьютерное образование в США и, косвенно, учебные планы по всему миру. Сравнение учебных стандартов ACM Curriculum 1968 и 1978 г. [15] показывают точку перелома.
Выпущенный на пике академической свободы Curriculum 68 готовит исследователей и первооткрывателей. «Компьютерные науки» – ветвь математики со знанием физики машин. Обязательны линейная алгебра, численные методы, автоматы, формальные языки, многопроцессорные системы, память, прерывания, сети, ядра операционных систем.
Студенты MIT и Стэнфорда пишут компиляторы языков ALGOL и BCPL (предок С) и ассемблерный код под физику компьютеров. Интерпретаторы вмещают в 16-32 КБ памяти. Исторический маркер: в этой парадигме растет первое поколение хакеров.
В 1970 гг. власть десять лет жёстко подавляет антивоенные протесты и движение за гражданские права чернокожих. Кампусы из центров революции реорганизуют в учреждения по производству безликих «автоматизаторов бухгалтерии и склада». В Curriculum 78 математика резко сокращена, часы отданы зазубриванию синтаксиса языков и бюрократии «менеджмента». Нет ранее обязательных теории компиляторов и системного программирования.
Учёные возмущены подменой учёного-творца ремесленником, а университетов – профессионально-техническими училищами. [16] В 1988 г. профессор Техасского университета Эдсгер Дейкстра напишет:
«Подобно тому, как экономика известна как «жалкая наука», программную инженерию следует называть «обреченной дисциплиной». Она, конечно, позиционирует себя как еще одно достойное дело, но это видимость. Читая ее литературу и анализируя занятие её последователей, вы обнаруживаете там уставом принцип «как программировать, если ты не способен на это».
Практика пронизана успокаивающей иллюзией, что программы – это лишь устройства, как и любые другие. И для их создания нужен новый тип ремесленников, а именно программисты. Остается небольшой шаг до измерения их «производительности» в терминах количества строк кода в месяц. Это дорогостоящая единица измерения, поскольку поощряет безвкусный код.» [17]
Далее Дейкстра сетует, что состав учебных программ антинаучен, и это не секрет для бизнеса:
«Проблема образовательной политики в том, что она не учитывает научные соображения, вытекающие из изучаемых тем, и почти полностью определяется вненаучными обстоятельствами.
Обеспечивают ли университеты обществу интеллектуальное лидерство? …Делается ли акцент на подготовке выпускников к вакансиям начального уровня или на передаче интеллектуального багажа и взглядов, которые будут полезны студенту еще 50 лет?
Традиционная академическая риторика готова дать обнадеживающие ответы, но я им не верю. …В статье «Кто правит Канадой?» Дэвид Х. Флаэрти прямо заявляет: «Бизнес-элита считает традиционных ученых и интеллектуалов неактуальными и бессильными»».
Далее следует его прогноз, не сулящий ничего хорошего поколениям, выходящим из университетов:

Стрит-арт, уличный художник Бэнкси [36]
«Если я загляну в свой затуманенный хрустальный шар на будущее образования по информатике, то увижу удручающую картину «обычного ведения дел». Университеты по-прежнему будут испытывать недостаток смелости преподавать точные науки и продолжать вводить студентов в заблуждение. Каждый следующий этап инфантилизации учебной программы будет преподноситься как прогресс в образовании. Мой туманный хрустальный шар уже давно у меня в руках. Его предсказания неизменно мрачны и верны, но я к этому уже привык.» [17]
Полицейский террор подростков
1990 гг. знаменует полицейский террор и запугивание компьютерщиков 14-22 лет, державших домашние серверы (BBS). 8 мая 1990 г., операция «Солнечный дьявол» (Operation Sundevil) [40]. Агенты одновременно врываются в дома 150 подростков по всей Америке (Майами, Остин, Сан-Франциско, Чикаго, Лос-Анджелес). Методы напоминают штурм наркокартелей: спецагенты на рассвете выбивают двери и врываются в пригородные дома среднего класса, направляя пистолеты на заспанных подростков и их шокированных родителей. Подростков часами допрашивают без адвокатов, угрожая многомиллионными штрафами и десятками лет тюрьмы. Семьям запрещают прикасаться к телефонам. Затем – подлоги и расправа в судах, главное дело операции: 19-летний студент Крейг Найндорф (Knight Lightning). Правительство требует дать ему 60 лет тюрьмы и штраф в $122 000. Причина: он «украл и опубликовал в журнале сверхсекретный хакерский инструмент стоимостью $79 449». Суд со скандалом проваливается: выясняется, брошюру можно заказать по почте у BellSouth за $13. Но парня уже исключили из университета, а правительство судом разорило его родителей (адвокаты стоили более $100 000). Итог операции: сотни разгромленных квартир и ни одного судебного приговора (3 человек садят за «сопутствующие преступления»).
Осознав, что под предлогом борьбы с киберпреступностью полиция безнаказанно грабит подростков, в 1990 г. Митч Капор и Джон Барлоу создают Фонд электронных рубежей (EFF) для защиты детей от агрессии спецслужб.
Книга «The Hacker Crackdown: Law and Disorder on the Electronic Frontier» [41] и сюжет фильма «Хакеры» 1995 г. [43] документальны.
Общество пожирает себя изнутри
Истеблишмент полагал, что террором и деинтеллектуализацией уничтожит протест 1960 гг. Но корень проблем (неравенство, бедность, расизм) остался. Не имея возможности выразить протест через профсоюзы и партии, общество пожирает себя изнутри. С конца 1970 гг. начинается взрывной рост серийных убийств, массовых расстрелов, тяжелого алкоголизма и депрессий. Регионы потрясают бунты, как в Лос-Анджелесе 1992 г. [18], а интеллигенция приносит тактику саботажа в университеты.
Знаковый фильм 1980 гг. «Чужие среди нас» (They Live, 1988 г.) [37] прообраз «Матрицы» (The Matrix, 1999 г.) братьев Вачовски [38].

Подавление бунта, США, Лос-Анджелес 1992 г. [35]
7. БУНТУЮЩИЙ MIT 1970 ГГ.

Фотография 1970 гг. / Книга «Действуй! Сценарии революции» Джерри Рубина манифест подростков 1960-70 гг.
В 1980 г. группа профессоров в MIT саботирует Curriculum 1978 и создаёт манифест и курс SICP (Структура и интерпретация компьютерных программ). Первокурсники по-прежнему пишут виртуальные машины, интерпретаторы и компиляторы Scheme.
Профессор Абельсон вспоминает: «Я начал программировать в старшей школе в 1960 г., устроившись летом на работу на военно-морскую авиабазу Лейкхерст. Там был один из первых компьютеров IBM 709, программируемый с перфоленты.
В университете я занимался математикой. Затем, работая в Принстоне, стал экспертом в языке PL/I от IBM, который должен был произвести революцию.
В 1969 г. я поступил в Массачусетский технологический институт аспирантом. Тогда студенты делали добрые дела, например, устраивали марши и акции протеста, захватывали кампус. Жаль, что сейчас студенты не делают это чаще.
Через две недели после моего приезда в MIT студенты заняли кабинет президента, что, на мой взгляд, было очень весело. Я подумал: «Черт возьми, мне никогда не выпадет шанс посидеть в кабинете ректора», и зашел в кабинет, где сидела целая куча людей из организации «Студенты за демократическое общество». Среди них был и мой одноклассник.
В MIT есть знаменитая хакерская культура, о ней Стивен Леви писал в книге «Хакеры». Мы строим все вместе. Самым естественным в мире было взять чью-то программу, и внести в неё изменения. Всё было общим и открытым.
У меня и Джерри Сассмана появилась возможность разработать новый курс. Мы делали SICP, никому не раскрывая его содержание, поэтому нам его и разрешили. Против чего бы они могли возражать? Ну, люди возражают против всего, что вы делаете… Мы много работали летом, и сделали первую реализацию языка Scheme». [19]
8. СВОБОДНЫЕ ОПЕРАЦИОННЫЕ СИСТЕМЫ
В 1985 г. сотрудник AI Lab MIT Ричард Столлман в журнале Dr. Dobb’s Journal объявил манифест и проект свободного программного обеспечения GNU.
«Краеугольный камень дружбы между программистами – обмен программами; нынешние рыночные отношения запрещают программистам относиться к другим, как к друзьям. …заставляют ощущать себя противниками, а не товарищами. …Я годами работал в Лаборатории искусственного интеллекта, чтобы сдержать такие тенденции и другое недоброжелательство, но они зашли слишком далеко: я не смог оставаться в институте, где это делают за меня, против моей воли.»[20]
Столлман бросает работу и пишет свободный компилятор GCC, отладчик GDB и среду запуска кода Emacs LISP, чтобы вернуть знания людям. Линус добавляет в них ядро, и получается операционная система GNU/Linux.
Нидерландский профессор Эндрю Таненбаум выпускник MIT и Калифорнийского университета Беркли. В 1987 г. в книге «Операционные системы: разработка и реализация» он вспоминает: «AT&T запретила изучать исходный код и преподавать Unix студентам. Появился выбор: учить их теории, либо написать новую систему. Я выбрал второе».
Minix – свободная операционная система Таненбаума. С 2015 г. в процессоры Intel встроен чип Intel ME. Если компьютер «выключен», но не обесточен, чип тихо стартует по дежурной линии питания. В своей памяти SRAM он из BIOS запускает Minix, и, в обход основной ОС, имеет доступ к экрану, памяти, клавиатуре и сети компьютера. В прошивке чипа неоднократно находили уязвимости и удаленно выполняли произвольный код. Военные и корпорации требуют от Intel блокировать Intel ME в их оборудовании.
В 2017 г. в открытом письме к директору Intel Таненбаум иронизирует: «Хорошо бы чисто из вежливости Intel сообщила мне, что Minix 3, вероятно, самая популярная операционная система на x86 в мире. Думаю, было бы вежливо дать знать об этом». [21]
Изучив Minix Линус Торвальдс пишет ядро Linux.
9. ХАКЕРЫ
Корпус 20 (Building 20) временное, наспех сколоченное деревянное здание MIT 1950-60 гг. Построено во Вторую мировую войну для секретных разработок радаров. После войны здание не снесли, а отдали под студенческие активности, кружки и неофициальные лаборатории. Атмосфера там была неформальной, свободной от жесткого академического контроля и бюрократии.
Клуб технического моделирования железных дорог – классический студенческий кружок по интересам. Собирая электромеханические модели, студенты называли нестандартное инженерное решение «хак»: «элегантное, остроумное решение, сделанное для удовольствия и в обход общепринятых правил». Когда в MIT появились компьютеры, эти же студенты пересели за терминалы и стали называть себя «хакеры».
«Хакер» это инженер высокого класса, нестандартно соединяющий алгоритмы математики, компилятор, ABI и физику машин.
Возняк, Ален, Гейтс, Кармак, Столлман, Кум, Фэннинг, Паркер – хакеры из университетов эпохи 1960 гг.
Не всякий хакер – взломщик.
10. CODE RUSH И КРАХ КОМПЬЮТЕРНОЙ КУЛЬТУРЫ И ВОЗМОЖНОСТЕЙ 1970-90 ГГ.

В 2000 г. вышла культовая кинохроника Code Rush [22] о крахе компьютерной культуры и возможностей 1970-90 гг, и буднях инженеров, пытающихся спасти от разорения фирму Netscape выпуском браузера Mozilla.
Кремниевая долина 1990 гг. это территория бунтарей, «рок-звёзд» кода и свободных хакеров, которые могли ходить на работу в шортах, спать под столом и в одиночку создавать индустрии. В 2000 гг. на смену им придёт бюрократия, жесткий менеджмент, бесконечные KPI и корпоративное право. Романтичный дух Долины раздавлен крупным капиталом. Мы наблюдаем конец независимой Netscape, разорённой монополией Microsoft, и поглощаемой корпорацией AOL.
Даже в «Dot-com бум» реальные создатели технологий живут в Кремниевой долине бедно. Инженеры работают по 16-20 часов в сутки, не уходят домой неделями, спят на полу под рабочими столами, завернувшись в дешевые пледы, и в коридорах на грязных диванах. Лица программистов землистого цвета, с синяками под глазами от хронического недосыпа. Они питаются дешевой пиццей из коробок и пьют литрами колу, чтобы не уснуть. У многих сдают нервы: в фильме зафиксированы моменты глубочайшей депрессии от осознания того, что система безвыходно заперла их в клетке. Они закрываются в кабинетах, отключают телефоны и сутками пишут код.
11. КОД ЗНАЧИМЫХ ПРОЕКТОВ ВСЕГДА ПИСАЛИ ТОЛЬКО ХАКЕРЫ
«Code Rush» разбивает миф о компьютерщике, как о сытом бюрократе средних способностей. Код значимых проектов всегда писали только хакеры.
В фирмы «способные изменить мир» штучно нанимают лишь людей нестандартного ума и глубокого знания предмета. Netscape – не исключение.
Джейми Завински (Jamie Zawinski / jwz) официальная должность на визитке: «Hacker», «Hacker Emeritus». Начал в 16 лет на Lisp в лаборатории искусственного интеллекта университета Карнеги-Меллон. Портировал Netscape Navigator на Unix. Вдвоем с Терри Вайсманом и Стэнфорда пишут модуль почты для браузера.
Брендан Эйх (Brendan Eich), один за 10 дней пишет язык JavaScript с интерпретатором для Netscape Navigator.
Лу Монтулли (Lou Montulli) до Netscape Unix-хакер и один из трёх создателей текстового браузера Lynx.
Тахер Эльгамаль (Taher Elgamal) разработчик протокола SSL, основы HTTPS. В 1984-85 гг. опубликует свою криптосистему «схему Эльгамаля». В 1991 г. Национальный институт стандартов и технологий США (NIST) берёт её базой для правительственного стандарта Digital Signature Algorithm (DSA).
Майкл Той (Michael Toy) выходец иp хакерской Unix-среды 1980 гг., соавтор культовой текстовой компьютерной игры Rogue (породила жанр roguelike).
Марк Андриссен (Marc Andreessen) и Эрик Бина (Eric Bina) создали в Национальном центре суперкомпьютерных приложений (NCSA) первый браузер Mosaic, «выпустивший» интернет из академического подполья в массы. Бина программировал его по 48 часов подряд, поглощая M&M’s и колу.
12. ВОЛШЕБСТВО ИСЧЕЗЛО, ПОСКОЛЬКУ ИСЧЕЗЛИ ВОЛШЕБНИКИ

Бунтарь Джейми Завински видит уничтожение культуры свободного хакерства, и понимает, куда катится индустрия.
30 сентября 1997 г. разработчики Microsoft празднуют релиз Internet Explorer 4. Ночью они проводят дерзкую вылазку, и тайно устанавливают перед входом в Netscape металлический логотип Internet Explorer (букву «e») высотой в 3 метра. Утром Завински с коллегами валят логотип и ставят на него зеленого динозавра с плакатом «Netscape 72, Microsoft 18». Это доли рынка браузеров на тот момент. В 2001 г. счёт уже 7% на 90% в пользу Microsoft. Рецепт «честной победы» на «свободном рынке»: монополия просто добавила браузер в дистрибутив операционной системы Windows.
В 1999 г. Завински демонстративно увольняется, заявив, что больше не тратит жизнь на бюрократов и корпорации. Он уходит из ИТ и открывает в Сан-Франциско ночной клуб DNA Lounge, предпочитая «мыть полы и крутить пластинки», но оставаться свободным человеком, а не бесправным «программистом по найму».
«Должен сказать, что приятно уходить из AOL, а не из Netscape. Это совсем не похоже на увольнение. Я был двадцатым человеком, принятым на работу в Mosaic Communications Corporation, из них осталось только пять.
Компания Netscape долгое время меня сильно разочаровывала. Когда мы создавали эту компанию, мы хотели изменить мир. И мы это сделали. Мы дали Интернет обычным людям. Но мы делали это в 1994 и 1995 годах. А с 1996 по 1999 год мы просто плыли по течению, на волне, вызванной нашими предыдущими действиями.
Нашу отрасль можно разделить на два типа людей: тех, кто хочет работать в компании, чтобы сделать ее успешной, и тех, кто хочет работать в успешной компании. Ранний успех и стремительный рост Netscape заставили нас перестать ориентироваться на первых и начать ориентироваться на вторых. Компания перестала внедрять инновации.
К этому моменту я был твердо убежден, что Netscape больше не способна выпускать продукты. Инженерный отдел Netscape утратил ту целенаправленность, которая у нас когда-то была, – стремление выпускать что-то полезное и делать это быстро. Этого больше не происходило. Netscape выпускала мусор, причем с опозданием.
В январе 1998 года Netscape пережила один из самых мрачных периодов в своей истории – первую волну сокращений. Это стало настоящим тревожным сигналом. Netscape, любимица компьютерной индустрии, самая быстрорастущая компания в мире, оказалась не непобедимой.
Если говорить конкретнее, именно тогда мы поняли, что окончательно проиграли так называемую «войну браузеров». Microsoft удалось уничтожить этот рынок. Продавать веб-браузеры за деньги стало невозможно. Наш первый продукт, наш флагманский продукт, быстро приближался к утрате актуальности.
И тут произошло неожиданное: руководство решило опубликовать исходный код. Акт отчаяния? Возможно, но всё же очень интересный и неожиданный.
Это было настолько безумно, что вполне могло сработать. Я зарегистрировал домен той же ночью, разработал структуру организации, написал первую версию веб-сайта и, вместе со своими сообщниками, объяснял людям разных комнатах, как работает свободное программное обеспечение и что нам нужно сделать, чтобы оно работало.
И, независимо от смелости этого шага, ничего не изменится: у Netscape больше нет ни инженерных ни управленческих талантов, для выпуска качественных продуктов. Волшебство исчезло, поскольку волшебники либо перешли в более перспективные компании, либо их голоса затерялись в шуме толпы, заглушенные окружающей их посредственностью.» [23]
13. CRASH BANDICOOT В ПУСТЫНЕ ИГР

Игры 1980-90 гг. это нестандартный код, часто виртуальные машины и кастомные языки от увлечённых компьютерами людей. Каждая игра дарит уникальный опыт первооткрывателя. Покупка диска или картриджа – это событие.
Игра Crash Bandicoot. Разработка: сентябрь 1994 г. – сентябрь 1996 г. Штат: 9 человек: 3 программиста, 4 художника, 1 дизайнер, 1 специалист поддержки.
Стандартная операционная система (ядро) консоли PlayStation занимает в оперативной памяти 64 кб. Для разработчиков игры Crash Bandicoot потеря даже 64 кб критична. Энди Гэвин пишет код, «убивающий» операционную систему PlayStation после включения игры. В освобождённую память поместят звуковые эффекты. Разработчики пишут свои функции для управления процессором, памятью и чтения CD-диска, так как системные вызовы больше не работают. Naughty Dog отказывается от стандартного C, заменяя его своим языком GOOL (Game Oriented Object Lisp) и компилятором. Графический чип PS1 не умеет отображать текстуры под углом без искажений, и программисты разбивают мир на крошечные полигоны. Геометрия уровня разбита на куски по 64 кб и сжата на GOOL. Пока игрок бежит, привод CD-ROM непрерывно вращается и подгружает следующие 64 кб уровня, одновременно стирая из памяти пройденный блок графики позади Крэша. Эта безумная нагрузка на лазер привода PS1, позволила создать невероятно детализированные миры для 1996 г. Поскольку Энди Гэвин и Дэйв Баггетт взломали и переписали системный код BIOS, игра нарушала все возможные правила Sony. Она напрямую управляла «железом» в обход операционной системы консоли. Если бы проверяющие Sony узнали об этом, Crash Bandicoot никогда не пустили бы в печать. Поэтому была создана скрытая прослойка кода, и для Sony игра выглядела так, будто она делает стандартные запросы к операционной системе. [24]
Разработчики вспоминают. [25]
«Модель Naughty Dog основа всех моих стартапов: в начале нужно иметь очень сплоченную, трудолюбивую и творческую команду в 6-12 человек. Она определяет всё будущее компании – не важно, вырастет ли та до 50 или 5000 человек.
Энди и Джейсон вместе со средней школы создавали и продавали игры. Я встретил Энди в 1992 г. в MIT на конференции по искусственному интеллекту. Энди знал об играх и программировании столько же, сколько и я, так же был увлечен этим, и ориентирован на коммерческий успех. Полагаю, это результат избирательности MIT и лаборатории искусственного интеллекта. Из огромного числа претендентов она принимает ежегодно 25 студентов.
Мы, как команда, были явными исключением из правил. Энди и Джейсон, по моему опыту, были уникальны. В 23 они обладали коммерческим и стратегическим мышлением, имели навыки переговоров, намного превосходящих других руководителей. В сочетании с их выдающимися техническими талантами и умелым, но порой случайным подбором персонала, это позволило создать команду, в некотором смысле превосходящую Миямото.
Для меня их архетипом были Битлз, Джон и Пол. Сумасшедшая, выходящей за рамки пара, которая годами упорно трудилась – хотя им было лишь 20. Я знал, что эти ребята изменят мир, и хотел стать Джорджем Харрисоном. Поэтому бросил аспирантуру и пошёл к ним «сотрудником №1»».
«Летом 1994 г. Naughty Dog Inc. состояла из меня и Джейсона Рубина. За восемь лет, вдвоём, мы в быстром темпе выпустили шесть игр. В 1993-94 г. мы вложились в файтинг Way of the Warrior [26] для консоли 3DO, продали права на него Universal Studios и договорились с ней о дальнейших делах. Это означило для нас переезд из Бостона в Лос-Анджелес. А для меня – отказ от работы над докторской диссертацией в MIT на полпути. Перед отъездом мы наняли «сотрудником №1» блестящего программиста и моего приятеля по MIT Дэйва Баггетта. Он приступил к работе на полную ставку только в январе 1995 г.
Напомню, мы были лишь двумя 24 летними парнями, и наш самый успешный проект не достиг отметки в 100 000 продаж! Но чего у нас было хоть отбавляй, так это уверенности в себе.
Наш девиз был взяться за непосильную задачу и придумать безумно сложный способ её решения. Видеоигры – тип программ на пределе возможностей машины и программиста. Код работает ошеломляюще быстро, занимает ничтожно мало памяти, не имеет крупных ошибок и пишется в сжатые сроки.
Мы с Энди любили находить упущенные другими возможности. Заполнять пробелы. Мы взялись за Way of the Warrior потому, что самыми популярными играми тогда были файтинги, и их не было на новой системе 3DO. Так и здесь: мы хотели и перенести самый популярный жанр на консолях из 2D в 3D, конечно, в сегменте без конкуренции. На Sega уже был Соник, на Nintendo – Марио, а на PlayStation – ещё не было ничего. Итак, мы подписали жёсткое соглашение с Sony (практически единственные, не издатели, кто это сделал) и выложили $35 000 за тестовый образец консоли. Ужас.

Мы сразу сделали необычный шаг, наняв настоящих «голливудских» мультипликаторов. Идею подал Марк, и мы с Джейсоном оценили её гениальность.
Чарльз Зембиллас был быстрым художником-графиком с талантом передавать эмоции персонажей мультфильмов. Мы говорили: «У Кортекса огромная голова, но крошечное тело, он безумный учёный и одевается как нацист из Джетсонов», и через 2 минуты получали эскиз карандашом. Боб Рафей чрезвычайно талантливый молодой художник, в итоге возглавил художественный отдел Naughty Dog.
Позже многие разработчики жаловались, что Crash использует секретную библиотеку Sony. Истина в обратном. Энди и Дэйв сломали множество правил. Прежде всего, они не соблюдали библиотечные ограничения PlayStation. Спустя годы Sony пыталась создать игру Harry Jalapeсo, чтобы конкурировать с Crash. Кроме неудачного названия, команда в Сан-Франциско не справилась со сложными мирами и персонажами. Повторюсь, сама Sony не создала бы Crash.
Некоторые программисты обладают гениальной способностью сопоставлять алгоритмы со странными возможностями и ограничениями, налагаемыми процессором; из сотен программистов, с которыми я работал, только Грег Оми был в той же лиге, что и Марк.
У PlayStation был игнорируемый всеми нестандартный видеорежим 512х240. Он потреблял память, нужную другим для текстур. Но изображение было чётким, и мы обнаружили, что машина хорошо считает затенённые треугольники без текстур. Мы сделали их основой графики. В режиме 512х240 машина была столь же быстра, как и в стандартном 320х240.
Мы искали способ создать качественный 3D-геймплей. Я придумал безумные алгоритмический упаковщик текстур, систему виртуальной памяти и втиснул уровни 8-16 МБ в 2 МБ памяти PlayStation. Дэйв изобрел двунаправленные компрессоры, чтобы уменьшить 128-мегабайтные уровни до 12 МБ, и придумать инструмент для строительства гигантских 3D-миров. Уровни были так велики, что первый тестовый уровень, который так и не был выпущен, не загружался в Alias PowerAnimator на машине с 256 МБ ОЗУ. Пришлось разрезать его на 16 частей, но и тогда каждая часть грузилась по 10 минут! Из 10 миллионов полигонов уровня, в итоге мы получили миллион (что по тем временам было очень много).
Мы с Дэйвом экспериментировали с расчетом видимости и сортировкой полигонов на станциях Silicon Graphics для художников. После этого мы решили создать конвейер инструментов на SGI и IRIX. Это означало покупать программистам станции SGI за $100 000 долларов за штуку, вместо компьютеров по $3000 долларов. Ужас. Никто так больше не делал. Тогда Pentium в 50 МГц с 8-32 МБ ОЗУ был обычным делом, а 64-битные SGI в 250 МГц с 256/512 МБ ОЗУ открывали иные вычислительные возможности. К 1997 г. в моей машине было 4 ГБ ОЗУ! Я написал инструменты для распределения вычислений между видеооборудованием и офисными компьютерами. Параллельная обработка уровней занимала несколько часов на нашей ферме из 5-8 машин!
Но самое безумное, что я сделал, – это создал Lisp для кодирования игры. В нем были конечные автоматы, мощные макросы, динамическая загрузка и т.д. Он был своеобразным, в стиле Naughty Dog: «мощным, но сложным». Но игра работала даже на SGI (с ужасным управлением с клавиатуры).
Келли Флок был первым сотрудником Sony, увидевшим «Крэша» вживую. Его, кажется, послали проверить, не подделана ли наша видеозапись! Но у него были и другие поводы для беспокойства. Например, насколько Crash подходит для оборудования. Келли понял, что любое движение вперед или назад по уровню грузит данные с CD. Он спросил, сколько раз прошедший Crash игрок проиграет CD. «120 000», – ответил Энди. Келли пробормотал: «CD-привод PlayStation рассчитан на 70 000», затем подумал и добавил: «Давайте никому об этом не скажем», и вернулся, чтобы убедить Sony поддержать Crash.

На переговорах в Японии стало ясно, что Sony заинтересована в Crash только для американского рынка. Шарлотта перерисовала детали рендеров и через 15 минут я отнёс японцам новую распечатку. Возможно, изменения, внесенные Шарлоттой, показали Sony, что в Японии есть проблеск надежды для Crash. Возможно, они просто увидели, как отчаянно мы хотели угодить, и не смогли сказать «нет». Возможно, Universal что-то подмешала в кофе, который они пили во время перерыва.
Crash был нашим первым платформером, и ему не хватало баланса в игровом процессе, как в Mario. И мы придумали систему динамической регулировки сложности. Если игрок, убегая от валуна, часто умирает, мы каждый раз немного замедляем валун. Если игрок умирает слишком часто, ящик с фруктами внезапно становится точкой продолжения. Мы стали помогать более слабым игрокам, не меняя правил игры для сильных, иначе бы те заскучали. Хорошие игроки, плохие игроки – все любили игры Crash. Каждый играл в немного другую игру, сбалансированную под его специфические потребности, никогда не понимая этого. В конце концов, все преуспели в Crash. Поэтому последующие игры серии стали такими идеально сбалансированными.
Частая проблема крупных компаний это ошибочное представление, что можно продвигать развлекательный продукт, не будучи активным его пользователем. Все, кто разрабатывал игру, играли постоянно. И игрокам понравились все четыре игры, они купили ОЧЕНЬ много Crash Bandicoot, 35-40 миллионов для PS1.
Во многом Крэш был последним из великих персонажей-талисманов видеоигр. К эпохе PS2 и Xbox возраст аудитории и графические мощности выросли. Сложные и мрачные игры, боевики с рейтингом R. Мне не хватает того простого, но очень качественного юмористического веселья, которое олицетворял Crash».
К 2005 г. жадный делец и бюрократ-программист, выдавливают хакеров из «игростроя». Количество игр растёт, но игроки жалуются: «играть не во что». Многие «игроделы» не любят игры и презирают свою аудиторию. В 2025 г. магазин AppStore ежемесячно добавляет по 15000-20000 новых игр, Steam по 2000, но хиты ждут годами.
14. ПЕЧАЛЬНАЯ ИСТОРИЯ КУСТАРЕЙ

Кустарный софт больше не продаётся
В 1985-2003 гг. процветали отличные shareware-программы для бизнеса: текстовый процессор PC-Write, база данных PC-File и другие. По цене 30 они продавались тысячами.
К 2005 г. Microsoft Office (Word, Excel, Access) монополизует офисный софт, Corel DRAW и Adobe Photoshop – графический.
Тысячи мелких одинаковых блокнотов, будильников, видеоплееров больше не нужны: архиваторы, просмотрщики картинок, дефрагментаторы, текстовые редакторы, факс-программы бесплатно идут с Windows. Продающие их площадки Download.com (CNET), Tucows, Simtel, ZDNet «умирают» вместе с разработчиками утилит.
Миф о кустарном разработчике

2019 г., пропаганда сулит самоучкам баснословные заработки: «Он заработал полмиллиона долларов, продавая шаблоны для вебсайтов!» [32]
В 2007-15 гг. эту историю повторят «фрилансеры» – одиночки и небольшие фирмы, пытавшиеся писать софт на заказ.
Десятилетие «фриланса» щедро обеспечено государственной пропагандой. Государство можно понять: рабочее место, к примеру, бульдозериста стоит 140 тыс., рабочее место «программиста» стул $20, стол $30 и ноутбук за $200. Сидящий за ним – уже не безработный, а «высоко востребованный самозанятый», который «сам должен найти и обслужить клиента» к тому же.
Долго такое продолжаться не может, и пузырь «фриланса» лопается. Его осколки ухолят в «образование» учить желающих делу, которое не даёт дохода самим «учителям».
Объективный фактор истории
Бизнесом востребован помощник бухгалтера, правящий таблицы по запросам и чинящий мелкие неполадки компьютерных систем. Вне крупных корпораций системный программист не нужен. Рабочих мест нет, и это объективный фактор.
Это повторение России 1990 гг. Забирая микроэлектронные производства, бизнес увольнял их персонал, отправлял в утиль оборудование, а полученные метры зданий сдавал в аренду или застраивал. Итог: из 992,6 тыс. научных сотрудников и исследователей в 1990 г., к 2000 г. осталось 425,9 тыс. [27] 550 тыс. человек и миллионы других инженеров ушли в мелкую уличную торговлю, такси, бытовые услуги, ремонт бытовой техники. Вещевые рынки 1990 гг. (Черкизовский или Лужники), большей частью состояли из людей с высшим техническим образованием.
15. ИТОГИ

Студент 1960 гг. взяв математику, мог на бумаге, с нуля, спроектировать новую вычислительную систему. Выпускнику 1990 гг. самой программой обучения запрещена база компьютерных наук. Он не умеет рассчитать такты, обработать прерывания, написать распределитель памяти, компилятор. Программы в памяти ЭВМ – удел узкой касты системщиков корпораций.
Стандарт «Computing Curricula 1991» обязывает учить «всему и ничему». Программисты учат кустарные библиотеки («фреймворки») и постоянно меняющиеся прикладные API. Даже MIT в 2000 гг. меняет CISP на Python.
+-------------------+-----------------------------------------------------+ | Метод обучения |Стандарты ACM/IEEE | +-------------------+-----------------------------------------------------+ | Depth-First | Студенты с первого курса строят на макетах электрон-| | До 1978/1991 | ные схемы, пишут ассемблерный код, компиляторы, | | | операционные системы. | +-------------------+-----------------------------------------------------+ | Breadth-First | Вводные курсы о «9 областях ИТ»: от СУБД до «этики».| | Введено в 1991 | Студенту не показывают математику и физику в железе | | | и алгоритмах. | +-------------------+-----------------------------------------------------+
Системное программирование по сей день удел хакеров… история продолжается.
16. ДОПОЛНИТЕЛЬНО О ШКОЛЬНОМ ОБРАЗОВАНИИ
***
Школу режут по кускам

В американской истории 1950-70 гг. называют Post-Sputnik Era (эпоха Спутника). Осенью 1957 г. советский Спутник прочертил небо над Америкой, что вызвало панический страх у истеблишмента. В школы вводят фундаментальную математику, чтобы вырастить поколение создателей суперкомпьютеров.
В 1960 гг. Америка «трещит по швам»: миллионные антивоенные протесты, мощные бунты чернокожих, движение хиппи, марксистские и анархические кружки в каждом университете. Молодежь массово отказывает капитализму.
В 1970 гг. Белый дом «нажимает на тормоз». Независимые ученые больше не нужны, у населения не должно быть интеллекта и вопросов о справедливом обществе. Под лозунгом «Назад к основам» (Back to Basics) глубокую математику 1960 гг. подменяют примитивной арифметикой и чтением.
1976 г. Поправка к закону о профессиональном образовании (Vocational Education Amendments). Тезис: «Зачем тратить налоги на обучение физике будущих официанток и рабочих заправок?». Бюджет финансирует школы только под низкоквалифицированую рабочую силу. Итог: академическое образование только в заведениях для истеблишмента.
Внедрен «Минимум компетенций» (Minimum Competency Testing): экзамены заменены тестами на проверку «базовых жизненных навыков» (уметь прочесть вывеску, заполнить бланк, посчитать сдачу). Планка «минимума» мгновенно стала «максимумом» для школ.
1977 г. Закон о карьерном образовании (Career Education Incentive Act): Школьников делят на потоки: будущие управленцы и массовые исполнители. Раннее на уроках литературы развивали мышление, учили критически анализировать тексты и спорить, теперь учат читать инструкции, заполнять бланки, писать резюме и следовать приказам руководства. Попытки ребенка выйти за рамки «потока» часто пресекают школьные консультанты (guidance counselors). Предлог: «его тесты показывают предрасположенность к ручному труду».
1979 г. у штатов и местных общин отбирают школы и бюрократизуют в созданном Министерстве образования (Department of Education Organization Act). Вместо обучения – бесконечные директивы, отчеты и бюрократизованные тесты под угрозой лишения бюджетного финансирования.
«Моя двоюродная бабушка ушла из преподавания в середине 90-х, потому что считала, что система образования пришла в упадок. Она начала преподавать в 60-х и планировала заниматься этим до самой смерти. Она любила преподавание, как таковое, и говорила, что в конце 70-х потеряла контроль над тем, как преподает, ориентируясь на учеников в своем классе. У нее не стало возможности отменять учебные программы, которые большинство ее учеников не понимали, и преподавать по-другому. Я была еще ребенком, но хорошо помню ее рождественские тирады что «искусства преподавания больше не существует»».
«Вы не можете влиять на то, чему учите, и никто не хочет слышать ваше профессиональное мнение, чему следует учить». [28]
+------------------------------------+-------------------------------------+ | ЭПОХА 1970 ГГ. | ИСТОРИЧЕСКИЙ КОНТЕКСТ | +------------------------------------+-------------------------------------+ | ПОЛИТИКА | +------------------------------------+-------------------------------------+ | Переход к жесткой внутренней | Насилие, полицейский террор, | | политике | программа ФБР COINTELPRO, убийства | | | активистов (см. Чёрные Пантеры) | +------------------------------------+-------------------------------------+ | Стабилизация политической системы | Принудительное подавление протеста, | | через дерадикализацию | аресты, криминализация инакомыслия, | | | зачистка кампусов армией и полицией | +------------------------------------+-------------------------------------+ | Смещение фокуса общества с борьбы | Искусственное условия, где | | за права на выживание | экономическое давление гасит | | | политическую активность масс | +------------------------------------+-------------------------------------+ | ОБРАЗОВАНИЕ | +------------------------------------+-------------------------------------+ | Корпоративный диктат и изъятие | Пропаганда вместо знаний, | | фундаментальных знаний из систем | бюрократические воспитательные | | массового образования | учреждения вместо сетей массового | | | образования | +------------------------------------+-------------------------------------+ | Лишение финансирования | Перевод финансирования на рельсы | | и зачистка школьных программ | Vocational Education (закон 1976 г.)| | | для штамповки узких исполнителей | +------------------------------------+-------------------------------------+
История Мишель Ри

В 2007 г. новый мэр Вашингтона Эдриан Фенти, получает полный контроль над государственными школами и нанимает Мишель Ри для ломки системы образования.
Ри начала карьеру в начальной школе в бедном районе Балтимора, затем обучалась в Школе Кеннеди при Гарварде. В первый год преподавания она на грани нервного срыва, затем изменяет свой подход. «Я была в полном боевом настроении. Ни улыбок, ни радости; вся в тонких губах и жестких взглядах. Моя ошибка в том, что я пыталась быть теплой и дружелюбной с учениками, думая, что моим детям нужна любовь и сострадание. Теперь я знала: детям нужно и они этого жаждут, жесткость и стабильная система». В мемуарах она описывает, как выстраивала учеников в шеренгу и заставляла входить в класс четыре раза, пока не был достигнут «идеальный порядок». [29]
За три года Ри лишила учителей бессрочных контрактов, превратив их в бесправных наемных рабочих, увольняемых в любой момент без объяснений. Начав войну с профсоюзами, она уволила 241 учителей. Чтобы запугать педагогов, нелояльные ей директора увольнялись во время визита в школу, в присутствии съёмочной группы. Журнал Time размещает её на обложке с метлой в руках. Учителя вспоминают её правление как эпоху террора, страха и доносов.
Пока Ри увольняла учителей государственных школ, заставляла детей сдавать бесконечные тесты, лишала их искусства, закрывала кружки, её собственные дочери учились в элитных частных школах. Там было академическое образование, маленькие классы, музыка, спорт и уважение к личности ребенка. Журналистам она цинично ответила, что как мать имеет право выбирать лучшее для своих детей.
В 2010 г. из-за недовольства реформами Ри мэр Фенти с треском проигрывает выборы, и её отправляют в отставку. Сразу вспыхивает скандал: «невероятные взлеты показателей» оказываются фальшивкой на бумаге.
…Сейчас Ри собирает миллионы от миллиардеров в свой фонд StudentsFirst на продвижение частных школ и уничтожение профсоюзов по всей стране.
История промышленных школ Букера Вашингтона

Промышленные школы Букера Вашингтона – проект для чернокожего населения США в 1880-1930 гг. Цель: дать ремесла, сельское хозяйство, и уйти от академического и политического просвещения, чтобы включать освобождаемых рабов в экономику без изменения их статуса и социального режима.
В 1881 г. Букер Вашингтон открывает образец и инкубатор для сотен школ – институт для чернокожих в Таскиги, штат Алабама. В выступлениях по всей стане он заявляет, что чернокожему населению не нужны политические права и высшее образование, а нужны ремесленные навыки и покорность. В ответ политики и промышленные магнаты (Рокфеллер, Карнеги) его щедро финансируют. В 1911-32 гг. строится 5000 «Школ Розенвальда», а Вашингтон, будучи негром, служит советником по расовым отношениям при президентах Рузвельте и Тафте (1901-13).
Но Вашингтон ведёт «двойную игру». Он понимает, что голодный, нищий, неграмотный батрак не может бороться с капиталистической системой – его уволят или убьют, и никто не заметит. Публично проповедуя покорность и труд, Вашингтон тайно оплачивает суды против сегрегации, законов Джима Кроу, лишения чернокожих избирательных прав. Создаёт базу для движения Мартина Лютера Кинга 1950-60 гг.
В сети черных школ вырастает поколение родителей, сумевших дать своим детям образование и воспитать чувство собственного достоинства. Там преподают лучшие умы, такие как ученый Джордж Карвер. Ученики учатся самоорганизации и дисциплине. В период движение за гражданские права, школы становятся опорными пунктами для организаторов маршей и забастовок.
Институту Таскиги катастрофически не хватало средств. В первый год студенты слушали лекции на полу развалившегося здания церкви. При жизни Вашингтон построил университетский комплекс и студенческий городок из сотни новых зданий для 1600 студентов.
Вашингтон тайно выкупает афроамериканские газеты New York Age и Boston Chronicle и блокирует призывы к открытым бунтам, провоцирующим погромы и закрытие школ. «Наружу» транслируются успехи черного бизнеса и фермерства.
Для финансирования борьбы за гражданские права он создает теневой комитет из доверенных лиц и верных выпускников Тускиги. В переписке Комитета нет реальных имен. Вашингтон подписывается как «Икс» (X). Его коллеги шифруют имена, чтобы защитить Таскиги от потери финансирования и нападений ку-клукс-клана. Государственную почту просматривают белые шерифы, и документы и деньги отправляются сетью курьеров из чернокожих железнодорожников.
В 1920-30 гг под давлением чернокожей интеллигенции школы Вашингтона закрывают ремесленные классы, трансформируясь в высшие учебные заведения и академические колледжи.
ЛИТЕРАТУРА

***
[1] https://github.com/myfoundation/EvolutionaryEngineering/tree/main/articles_sources/article-01-hackers
[2] https://www.cambridge.org/core/journals/modern-american-history/article/phreaking-politics-in-modern-america/4D9FC82B59BDCE2D4E28B280D6531342
[3] Абельсон Х, Сассман Д. Структура и интерпретация компьютерных программ (SICP), 2006
[4] https://stallman.org/rms-lifestyle.html
[5] https://github.com/myfoundation/EvolutionaryEngineering/tree/main/articles_sources/article-01-hackers/1. Unix v6-v7
[6] https://www.researchgate.net/publication/248710837_Letting_the_Computer_Boys_Take_Over_Technology_and_the_Politics_of_Organizational_Transformation
[7] http://homepages.cs.ncl.ac.uk/brian.randell/NATO/
[8] https://en.wikipedia.org/wiki/A_Commentary_on_the_UNIX_Operating_System
[9] https://en.wikipedia.org/wiki/Herbert_Foerstel
[10] https://www.nytimes.com/1987/09/18/nyregion/fbi-in-new-york-asks-librarians-aid-in-reporting-on-spies.html
[11] https://en.wikipedia.org/wiki/Phil_Zimmermann
[12] https://en.wikipedia.org/wiki/Bruce_Schneier
[13] https://www.ecis.eu/documents/Finalversion_Consumerchoicepaper.pdf
[14] Справочник по взлому Xbox: в память об Аароне Шварце https://habr.com/ru/articles/172247/
[15] http://www.cs.pomona.edu/~kim/CurriculumReports/
[16] https://www.cs.utexas.edu/~EWD/
[17] E.W. Dijkstra, On the cruelty of really teaching computing science (EWD 1036) https://www.cs.utexas.edu/~EWD/transcriptions/EWD10xx/EWD1036.html
[18] https://en.wikipedia.org/wiki/1992_Los_Angeles_riots
https://ru.wikipedia.org/wiki/Лос-анджелесский_бунт
[19] https://web.archive.org/web/20110812181333/https://codequarterly.com/2011/hal-abelson/
[20] https://www.gnu.org/gnu/manifesto.html
[21] https://www.cs.vu.nl/~ast/intel/
[22] https://www.google.com/search?q=“Гонка+за+кодом+%2F+Code+Rush+(2000)+WEBRip+[H.264]+[MVO]”
[23] https://www.jwz.org/gruntle/nomo.html
[24] https://habr.com/ru/articles/260637/
[25] https://all-things-andy-gavin.com/2011/02/02/making-crash-bandicoot-part-1/
[26] http://en.wikipedia.org/wiki/Way_of_the_Warrior
[27] https://diletant.media/articles/45307093/
[28] https://www.reddit.com/r/Teachers/comments/1fi4gup/what_happened_to_education_in_the_70s/
[29] https://newrepublic.com/article/113096/how-michelle-rhee-misled-education-reform
[30] https://ru.wikipedia.org/wiki/Вашингтон,Букер
[31] http://www.cypherspace.org/adam/shirt/design/
[32] Программист-самоучка, Как заработать $ 500 000 на фрилансе, Веб разработчик https://www.youtube.com/watch?v=8ovDXbJBlZM
[33] https://google.com/search?q=“Библиотека+ЖАФИК%2C+Vol.+4%3A+Уличная+культура”
[34] https://google.com/search?q=“Рубин+Джерри”+“Действуй!+Сценарии+революции”
[35] https://www.rollingstone.com/culture/culture-news/l-a-1992-how-race-riots-have-shaped-america-110417/
[36] https://ru.wikipedia.org/wiki/Бэнкси
[37] https://ru.wikipedia.org/wiki/Чужие_среди_нас
[38] https://ru.wikipedia.org/wiki/Матрица_(фильм)
[39] «Это Вода» (Речь Дэвида Фостера Уоллеса перед выпускниками Кеньон Колледж, 2005 г.) https://vk.ru/@vrodepublic-eto-voda-rech-devida-fostera-uollesa-pered-vypusknikami-keno
[40] https://en.wikipedia.org/wiki/Operation_Sundevil
[41] https://en.wikipedia.org/wiki/The_Hacker_Crackdown
[42] Интернет-мальчик: История Аарона Шварца https://ru.wikipedia.org/wiki/Интернет-мальчик:История_Аарона_Шварца [43] https://en.wikipedia.org/wiki/Hackers(film)
