СТАТЬИ

Размышлния о калькуляторах

Кое-что о калькуляторах

Калькулятор для древнего бухгалтера

Механический калькулятор Curta

Графический калькулятор Pacific Tech



Графический калькулятор Pacific Tech

      Графический калькулятор Pacific Tech имеет длинную историю. Этот проект начался в 1985, еще в университете. Тогда получился Milo, который позднее вошел в состав FrameMaker’а. Графический калькулятор 1.0, который Apple поставляло вместе с первой моделью PowerPC, появился при весьма примечательных обстоятельствах.
      В свое время я был контрактором компании Apple, работая над секретным проектом. К сожалению, компьютер, над которым мы трудились, так никогда и не был представлен публике (если довериться резюме самого Рона, то в протяжение года он занимался в Apple исследованиями оптического распознавания рукописного текста – MacTimes). Проект был настолько отравлен политикой и самомнением, что вместо технического руководителя, которого требовали инженеры, наш менеджер нанял психолога. Все закончилось в августе 1993 года, когда проект был закрыт. Год моей работы оказался выброшен на ветер, у меня истек контракт, и я стал безработным.

      Рон Авицур в 1995 году
      Я был настолько раздосадован тем, сколько сил пошло коту под хвост, что решился возобновить работу над своей скромной частью проекта. Мне было заплачено за эту работу, и я хотел ее завершить во что бы то ни стало. Мой электронный бэдж все еще открывал двери Apple, так что я просто продолжил приходить в офис.
      У меня было много сочувствующих. Инженерам Apple очень нравилось то, над чем я работал. Каждый раз, когда я устраивал демонстрации, я слышал от коллег: "Жаль, что этого не было, когда я ходил в школу». Особенно за меня болели работавшие над проектом Apple по переходу со старых микропроцессоров на IBM'овские PowerPC. Они рассчитывали на то, что моя программа станет убедительной демонстрацией скорости их новой машины. Увы, никто из них не был вправе официально нанять меня, так что я продолжал работать неофициально, в классической традиции проекта "Скунс" (в оригинале – "Skunkworks", от названия секретного проекта из популярной серии комиксов – перевод. Альтернативный вариант перевода – точно так же неофициально называлось секретное подразделение концертна Lockheed, выполнявшего секретные госзаказы в области аэронавтики. Обе версии хороши - MacTimes).
      Про PowerPC я не знал ничего и понятия не имел о том, как перенести на него мою программу. Одной августовской ночью, после ужина, в моих дверях появились два программиста, которые объявили, что не покинут мой офис до тех пор, пока программа не будет портирована. Мы провели следующие шесть часов, редактируя втроем пятьдесят тысяч строк кода. Задача состояла в тонкой хирургии, требующей знания закоулков MacOS, PowerPC и моего софта. Она потребовала бы недель напряженного труда от любого из нас, работавшего в одиночку.
      В час ночи мы совершили вылазку в офис, в котором находился прототип PowerPC. Мы переглянулись, глубоко вдохнули и запустили программу. Монитор охватило яркое пламя. Не теряя выдержки, мы вынесли его из офиса, чтобы не допустить срабатывания детекторов дыма, подключили другой монитор и попробовали снова. Причина воспламенения была не в нашей программе - первый монитор просто выбрал подходящий момент, чтобы загореться. На новом процессоре программа работала в пятьдесят раз быстрее, чем на старом. Вдоволь поигравшись с ней, мы пришли к выводу, что "она не так уж и плоха" (высокая похвала в терминологии Apple). У нас получилась замечательная демонстрационная версия, но требовались еще месяцы упорного труда, чтобы довести ее до качества продукта.
      Я попросил своего друга Грега Роббинса помочь мне. Его контракт с другим подразделением Apple только что закончился, так что он сказал своему менеджеру, что он будет подчиняться мне. Она не стала выяснять, кто я такой, и позволила ему сохранить за собой офис и бэдж. В свою очередь, я говорил, что подчиняюсь ему. Поскольку среди нас не было менеджеров, мы не устраивали совещаний, и работа спорилась. Мы работали 12 часов в день, семь дней в неделю. Грег обладал неограниченной энергией и требовательностью перфекциониста. Днями напролет он программировал за закрытыми дверями, покуда я проводил большую часть моего времени, разговаривая с другими инженерами. Так как я попросил его о помощи как о личном одолжении, мне приходилось поддерживать тот же темп. Из-за незашторенного окна моей спальни, выходящего на восток, я просыпался с рассветом и приезжал на работу на десять минут раньше Грега. Ему казалось, что я уже много часов проработал за компьютером, и что ему придется засидеться допоздна, чтобы не отстать. В свою очередь, я чувствовал себя обязанным уходить не раньше, чем он. Глядя друг на друга, что мы работали все больше и больше.
      Обитатели кампуса Apple все время видели нас вместе и предполагали, что мы встречаемся. Мало кто пытался выяснить, кто мы такие и что мы делаем. Когда кто-то спрашивал меня, я никогда не врал, пользуясь силой корпоративного пофигизма. Диалог выглядел обычно так:
      В: Вы работаете здесь? О: Нет. В: Вы хотите сказать, что вы – контрактор? О: Как сказать... Нет. В: Но вам кто-то платит? О: Никто. В: Как же вы живете? О: Просто. В: (недоверчиво) Что же вы здесь делаете?
      После этого я устраивал демонстрацию и объяснял, что проект был закрыт, но я остался, чтобы довести его до конца. Так как у меня не было ни долгов, ни семьи, я мог позволить себе жить на сбережения. Почти всем программистам Apple случалось работать над проектами, которые потом были закрыты, так что им легко было понять мотивы моего поведения.
      В Apple к тому времени уже сложилась богатая традиция "Проектов "Скунс", когда инженеры продолжали работать над прикрытыми проектами, надеясь на то, что получившиеся прототипы убедят руководство в том, что игра стоит свеч. Порой они добивались своего. Один проект, под весьма подходящим кодовым названием "Спектр", закрывался и запускался снова целых пять раз. Инженеры работали над своими "скунсами" в вечернее время, в дополнение к работе на полную ставку. Грег и я как безработные без иных обязанностей просто вывели эту традицию на новый уровень.
      В сентябре хозслужба Apple попыталась вселить людей в официально пустые офисы и обнаружила там нас. Работница хозслужбы предположила, что я просто сменил проект и еще не переехал в новую группу, что случалось очень часто. Она спросила, на какую группу я работаю, поскольку в этом случае моя новая группа должна была бы найти мне рабочее место. Когда я сказал ей правду, она даже не улыбнулась. Вместо этого, она вызвала охрану, убедилась, что наши бэджи аннулированы, и в весьма определенных выражениях приказала нам покинуть здание.
      Нас спасли увольнения, которые начались в следующем месяце. Двадцать процентов из пятнадцати тысяч сотрудников Apple потеряли работу, но мы с Грегом были в безопасности, поскольку работы у нас и так не было и мы официально не существовали. После того, как увольнения закончились, образовалось большое количество пустых офисов. Найдя два вакантных помещения, мы стали проникать в здание каждый день, поджидая снаружи настоящих сотрудников и как бы невзначай заходя вместе с ними. Многие знали нас и не задавали вопросов, поскольку мы носили старые бэджи для конспирации.
      Наша работа шла очень успешно, но мы не могли бы завершить ее в одиночку. Создание сложного программного продукта требует командных усилий. Один человек при помощи ловкости рук может устроить демонстрацию, которая произведет впечатление на зрителей. Но если поставить такой продукт миллионам пользователей, то все баги вылезут наружу и авторы программы будут выглядеть идиотами. В нашем бизнесе банальностью является то, что первые 90 процентов работы оказываются очень легкими, вторые 90 процентов выматывают вас, и только последние 90 процентов – внимание к деталям – делают продукт качественным. Для написания программы, которая была бы элементарной для обучения, простой в использовании, дружественной, полезной и мощной одновременно требуется коллектив с фантастическим набором качеств: обширные знания, талант и воображение вкупе с трудолюбием и упорством. Мы с Грегом могли завершить собственно инженерную часть, но до создания законченного проекта оставалось еще очень далеко.
      Кроме всего прочего, нам был необходим профессиональный контроль качества – тяжелое и трудоемкое тестирование, которое высветило бы ошибки дизайна и программные баги, пропущенные нами в своем детище. Как из-под земли, двое тестировщиков, которых мы никогда в жизни не встречали, связались с нами, прослышав о нашем предприятии по сарафанному радио (мы стали чем-то вроде подпольной сенсации). Их основная работа, контроль качества системного софтвера, была скучной до полного отупения. Они предложили свою помощь, попросив только, чтобы мы ничего не сказали об этом их начальнику. Один из них защитил диссертацию по математике, другой раньше сам писал математические программы. Они были просто находкой для нас. Они немедленно приступили к своей работе.
      Далее, нам нужна была помощь в написании кода, который бы рисовал трехмерные графики, обсчитываемые нашей программой. Мой приятель с опытом в этой области взял один уик-энд отгулов из своего стартапа, чтобы написать весь этот кусок. Он сделал в два дня то, на что я бы убил месяц.
      Мой подпольный проект начинал становиться реальностью благодаря помощи этих и многих других специалистов в области дизайна, документации, программирования, математики и пользовательского интерфейса. Секрет программирования состоит не в том, чтобы быть семи пядей во лбу, хотя это никогда не вредно. Это и не трудолюбие или наличие опыта. Секрет программирования заключается в том, чтобы знать умных людей.
      Оставался один насущный вопрос: "Как включить нашу программу в операционную систему, когда она начнет поставляться на новые машины?" Мысль о том, что мы не сможем это сделать, пугала меня больше, чем возможность уголовного преследования за вторжение на частную собственность. Весь изнурительный труд Грега и меня, вся подпольная помощь от наших знакомых, полузнакомых и вовсе незнакомых людей, которых я столь нагло использовал, все пожертвованное время, знания, оборудование, напитки и вызывающая изжогу еда были бы потрачены напрасно.
      В очередной раз мое душевное здоровье было спасено незнакомцем. В два часа ночи в моем офисе появился визитер, представившийся ответственным за создание мастер-диска PowerPC. Он сказал следующее: "Apple – это хардверная компания. Представь себе заводы, которые выпускают компьютеры Apple. Почти в самом конце их конвейера весь системный софт копируется с "золотого мастер-диска" на жесткий диск каждого компьютера. "Золотой мастер-диск" создаю и отсылаю FedEx’ом на завод я. В самом практическом смысле я решаю, какие программы включаются в поставку, а какие нет". Он сказал, что если я дам ему нашу программу за день до того, как начнется серийное производство, она сможет оказаться на "золотом мастер-диске". В результате, прежде чем кто бы то ни было поймет, что произошло, тридцать тысяч копий нашего софта будут сидеть в упаковке на складе. Это добавило нам уверенности, хотя сейчас мне кажется, что он тогда пошутил.
      Как только мы определились со способом поставки, Apple превратилась в идеальное место для работы. Все наши знакомые инженеры были готовы помочь нам. В нашем распоряжении были ресурсы, которые были бы абсолютно недоступны, если бы мы были штатными сотрудниками компании. К примеру, в то время в мире существовало лишь две сотни чипов PowerPC. Чипы, которые были у Apple, достались по большей части разработчиками хардвера. Программистам, работавшим над созданием операционной системы, приходилось довольствоваться двадцатью-тридцатью компьютерами на базе PowerPC на все подразделение. У нас было два таких компьютера. Бывало, что инженеры приходили к нашим офисам к полуночи и буквально просовывали компьютеры под дверь. Один из них как-то сказал: "Официально, этого компьютера не существует, вы не получали его от меня, и я вас не знаю. Следите за тем, чтобы он оставался внутри здания".
      В октябре, когда конец проекта был уже не за горами, программисты, помогавшие нам до этого, организовали мою встречу со своими менеджерами. В мой офис набилось более десятка человек. Я не ожидал поддержки с их стороны, но считал необходимым сделать хотя бы попытку по задействованию официальных каналов. Я устроил двадцатиминутную презентацию, которая вызвала восторженные возгласы. После нее меня спросили: "Кто ваш начальник? К какой группе вы относитесь? Почему мы раньше этого не видели?" Я объяснил, как я проникал в здание и что проект официально не существует. Подумав, что я шучу, они посмеялись. Когда же до них дошло, что я был абсолютно серьезен, мне было сказано никогда больше не рассказывать эту историю.
      Директор разработки программного обеспечения для PowerPC был профессором Дартмута. Директор по маркетингу PowerPC был сыном учителя математики. Понимая важность включения этой образовательной программы в каждый Макинтош в каждой школе, они взяли нас под свое покровительство.
      После этого история приняла действительно странный оборот. Менеджер отдела контроля качества выделил нам людей на тестирование (я умолчал о том, что они уже на нас работали). Группа локализации взялась за перевод продукта на двадцать языков. Интерфейсная группа выполнила формальную проверку юзабилити. Я оказался в центре целого смерча всяческих функций и обязанностей. Тем не менее, мы с Грегом продолжали проникать в здание украдкой. Ответственные сотрудники проекта PowerPC, ключевого для будущего компании, не могли выдать нам бэджи, не имея заказа на закупку. Они не могли оформить заказ на закупку без подписанного контракта. Они не могли подготовить контракт без одобрения юридического отдела, а юридический отдел, узнав правду, без всякого сомнения вызвал бы охрану, чтобы вывести нас из здания.
      Однажды, когда Грег прохаживался снаружи здания, стараясь не привлекать к себе внимания, с ним неожиданно заговорил один инженер: "Мне надоело смотреть на то, как вы околачиваетесь вокруг здания каждый божий день". После этого он взялся за обзвон бюрократов по поводу нашего дела. В течение двадцати минут я следил за его половиной разговора: "Нет, у нас нет заказа на закупку, потому что мы им ничего не платим. Нет, у нас нет с ними контракта, поскольку они не контракторы. Нет, они не наши сотрудники – мы не собираемся их нанимать. Да, им нужно иметь доступ в здание, так как их код будет поставляться с нашими компьютерами. Нет, у нас нет номера заказа. У нас нет заказа на покупку, потому что мы им ничего не платим". В конце концов, он взял их измором. Нам было сказано взять стандартный бланк для выдачи бэджей, но вычеркнуть слово «контрактор» и вписать "поставщик". Там, где полагалось быть номеру заказа, у нас красовалась магическая формула "недолларовый контракт". На следующий же день у нас уже были бэджи. Это были оранжевые бэджи поставщиков, те же самые, что и у работников столовой, обслуживающего персонала копиров и уборщиков.
      Официальное признание стало настоящим подарком. Неожиданно появилось еще больше желающий поучаствовать в проекте. Когда закончилось тестирование пользовательских качеств продукта среди учителей и учеников, мы обнаружили, уже не в первый раз, что работы оставался непочатый край.
      Я гордился изяществом и простотой нашего дизайна. Я хотел, чтобы наша программа была на каждом Макинтоше, поэтому она была рассчитана на всех пользователей, даже на тех, которые ничего не смыслят в компьютерах и терпеть не могут математику. Мне хотелось сделать изучение математики таким же легким и приятным занятием, как игры в компьютерные игрушки. Ведь то время, которое студент проводит, борясь с компьютером, есть время, отнятое от учебы. Когда я сидел за полупрозрачным зеркалом, следя за новичками, бьющимися над нашей программой, до меня наконец дошло то, что программисты меньше всего приспособлены к тому, чтобы создавать программы для неопытных пользователей. Пристыженные пятью днями таких наблюдений, мы с Грегом провели кропотливую работу по добавлению в программу обратной связи с пользователем, так чтобы казалось, что мы стоим рядом, поясняя то, что происходит на экране.
      Признание руководства привело к тому, что наш проект более не мог оставаться секретным. После демонстрации внешним разработчикам, кто-то позвонил в Apple, утверждая, что мы нарушили его патент. Это заставило нас изрядно посуетиться, до тех пор, пока я не смог продемонстрировать более ранние аналоги. Другая компания, создатель пакета Mathematica, ни много ни мало потребовала изъятия нашего продукта. Apple вежливо отказала. Если раньше нам приходилось прятаться от охраны, то теперь Apple встала на нашу защиту.
      К ноябрю мы перешли на авральный режим работы, вкалывая по шестнадцать часов в день, семь дней в неделю, не расслабляясь ни на секунду. Последние недели проекта мы прожили как в чаду – проснуться, схватить бублик, съесть его в машине по дороге на работу, работать до потери сознания, отключиться, повторить. Если бы этот рассказ был кинофильмом, здесь были бы часы c быстро крутящейся часовой стрелкой и листки отрывного календаря, уносимые ветром один за другим.
      Мы закончили в январе 1994 года. С тех пор графический калькулятор стал частью Макинтоша. По всему миру учителя используют его как анимированную доску для наглядной демонстрации абстрактных понятий. Он был поставлен на более двадцати миллионов компьютеров. Он никогда официально не существовал.
      Кроме этого, можно задаться другими вопросами, психологического и идеологического плана. Занимался ли я этим, будучи задетым за живое тем, что мой проект был закрыт? Не был ли я вредителем, коварно использовавшим ресурсы международной корпорации в свои собственных целях? Или же я был простаком, из которого система выжимала все соки? Может быть, меня правильнее было бы изолировать от общества как дурака, потерявшего голову от самомнения, или же я просто увлекся борьбой за повышение качества образования?
      Сейчас я смотрю на эти события как на опыт по подрыву авторитета органов власти. У меня не было никаких инструментов давления на окружающих, которые по определению есть в больших корпорациях или бюрократических организациях. У меня не было ни бюджета, ни подчиненных. Я никому не подчинялся, и никто не обязан был делать то, что я говорил. Десятки людей решили сотрудничать стихийно, без всякого принуждения, делая это в дружбу, из уважения или просто из любви к своему ремеслу. Мы были хакерами, создающими нечто просто потому, что нам хотелось заставить это работать.
      После шести месяцев изматывающего неоплачиваемого труда, Грег не мог объяснить своим родителям, над чем он работал. Они не использовали компьютер и единственным периодическим изданием, которое они читали, было "Нью-Йорк Таймс". Когда проект подходил к концу, я спросил у Грега, хочет ли он, чтобы его фотография появилась в "Таймс", чтобы его родители узнали, чем он занят. Это было предложение, от которого он не мог отказаться. Мы поспорили на обед в "Le Mouton Noir", хорошем французском ресторане в Саратоге. Если быть честным, я полагал, что проиграю, но все же сделал один телефонный звонок. Грег больше со мной не бьется об заклад – 11 марта 1994 года на первой странице делового раздела "Нью-Йорк Таймс" появилась статья, посвященная альянсу Apple, IBM и Motorola, украшенная нашей фотографией на лужайке перед моим домом с видом на горы Санта-Круз. Одна моя знакомая в отделе PR Apple была вне себя от злости. Перед интервью я спросил ее, не хочет ли она прислать кого-нибудь из своего отдела, но получил ответ, что инженеры не должны общаться с прессой. Очень сложно обеспечить соблюдение правил людьми, которых невозможно уволить. Тем не менее, статья была на пользу Apple, да и нашим родителям было очень приятно.
      Мы хотели выпустить версию для Windows вместе с Windows 98, но к нашему огорчению выяснилось, что в Microsoft здания охраняются гораздо строже.

      PS: После всех описанных событий, мы легализовали наш проект задним числом, передав Apple лицензию на распространение программы. Pacific Tech был основан несколькими годами позже и продолжил разработку Graphic Calculator в двух версиях – коммерческой и бесплатной, которая поставляется Apple вместе с Mac OS 8 и Mac OS 9. На нашем сайте можно скачать саму программу.

<<< Назад



  ГЛАВНАЯ
  СКАЧАТЬ КАЛЬКУЛЯТОРЫ
  ИСТОРИЯ КАЛЬКУЛЯТОРОВ
  СТАТЬИ
  ИСХОДНИК КАЛЬКУЛЯТОРА
  ССЫЛКИ НА САЙТЫ СОФТА

  КАРТА САЙТА

ЩЕЛКНИТЕ ЗДЕСЬ, чтобы узнать, как получить 21 999 посетителей на Ваш сайт.Бесплатно!

Копирайт (c) 2009. Создано pdi13soft. Все права защищены.

Хостинг от uCoz