Выбрать главу

Вот то, что запомнилось из ранних программ. Потом, в средней школе, я уже писал игры, графические редакторы и редакторы уровней для своих друзей, а друзья делали графику для разных уровней, и мы продавали эти игры своим одноклассникам. Помню, что делал игры, которые определяли режим монитора, EGA или VGA. Если игра не могла использовать режим VGA, то переходила обратно в EGA и использовала другой набор изображений, подходящих для этого режима, так что нам везде требовалось два набора графики. Школьники покупали это дело баксов за пять и устанавливали у себя, а оно не работало, и их родители звонили моим родителям и орали: «Твой сын содрал с моего ребенка пять долларов за эту дрянь, которая не работает». Мама отвозила меня туда и ждала в каком-нибудь тупике, пока я занимался отладкой и исправлял ошибки.

Сейбел: В то время вы посещали какие-нибудь занятия по программированию?

Фицпатрик: Если честно, нет. Была пара книг из библиотеки, ну, и возня с компьютером. У меня не было ни форумов, ни Интернета. Как-то я зашел на BBS[18], но там не было ничего полезного. Она не была подключена к Сети, там только играли в настольные игры.

Сейбел: В вашей школе был факультатив по информатике или что-то подобное?

Фицпатрик: Нет, но у нас были уроки информатики. Вел занятия один парень, а потом я потихоньку стал вести что-то вроде продвинутых курсов. Они до сих пор используют графический редактор и графическую библиотеку, которую я написал; конечной целью курса была разработка игры. Я иногда встречаю этого учителя информатики — моя семья с ним дружит, и мы видимся на футбольных матчах, в которых участвует мой брат. И он говорит мне: «Мы до сих пор используем твои библиотеки».

Я сдал тест повышенного уровня по информатике. Это был последний год, когда тесты сдавали на Паскале, потом все перешли на Си, а еще через год — на Java или что-то вроде того. Я не знал Паскаль, поэтому ходил в соседнюю школу, в которой был факультатив по программированию. Я посещал три-четыре вечерних курса, потом нашел книгу и изучил этот язык. Большую часть времени я рисовал с помощью Паскаля звезды, потому что только что изучил тригонометрию. «О, синус и косинус, забавно. Можно растягивать, сжимать и все такое».

Сейбел: Что вы получили за этот тест?

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

Сейбел: Летом, перед началом обучения в колледже, вы работали в компании Intel. Вы работали программистом в конце школы?

Фицпатрик: Да, я работал какое-то время в компании Tektronix. Перед тем как получить официальную работу, у меня была хостинговая учетная запись. Но AOL[19] ее прикрыла за создание ботов, зафлуживание их чатов и просто за назойливость. Я тогда написал сценарий, запускающий AOL-клиент из другой Windows-программы. Еще я написал бот, чтобы постоянно заполнять онлайновую форму ввода для получения от них компакт-дисков. Я использовал разные варианты своего имени, чтобы их программа защиты от дублирования не отправила мне всего лишь один диск, поскольку каждый из них предоставлял 100 или 5000 часов бесплатной работы. Я ввел данные несколько тысяч раз, так что где-то неделю почтальон приносил мне пачки дисков.

Мама уже начала говорить: «Черт возьми, Брэд, у тебя будут неприятности!» А я говорил: «А вот и нет, эта долбаная компания сама виновата». Однажды дома раздался звонок, я поднял трубку, чего обычно не делал, — звонили из AOL. Этот тип заорал: «Прекратите присылать нам эти заявки!» Я обычно туго соображаю, но тут сразу нашелся и проорал в ответ: «Зачем вы шлете мне эту хрень?! Каждый день почтальон тащит кучу дисков!» Он даже опешил: «Извините, это больше не повторится». Я украсил ими свою комнату в колледже. Они до сих пор лежат в коробке в гараже. Не могу от них избавиться, потому что все еще помню, как они когда-то классно смотрелись на стенах.

После этого мою учетную запись в AOL заблокировали, а я зарегистрировал учетную запись у одного из местных shell-провайдеров. Тогда я, по сути, и научился работать с UNIX. Я не мог запускать CGI-скрипты, но мог загружать данные на сервер по FTP, поэтому я запускал разную ерунду, написанную на Perl на домашнем компьютере, которая создавала сайт целиком и затем загружала его на сервер. Потом я получил временную летнюю работу в Tektronix. Я хорошо знал Perl и всякие веб-штуки, но никогда не работал с динамическими веб-страницами. Это был 1994 или 1995 год — Сеть тогда была делом совсем новым.

вернуться

18

BBS (Bulletin Board System) — электронная доска объявлений. Когда кабельные компьютерные сети были редкостью, пользователи компьютеров широко применяли этот способ общения посредством коммутируемых телефонных сетей. — Прим. науч.ред.

вернуться

19

AOL — America Online, американская медиакомпания, поставщик онлайновых сервисов. — Прим. науч. ред.