Мое первое знакомство с компьютером вообще и программированием в частности состоялось в восьмом классе школы. Происходило это всё в Доме Пионеров. Компьютерный класс состоял из нескольких «Корветов ПК8010» и одного главного «Корвета ПК8020», объединённых локальной сетью. Программировали мы на бейсике — других языков ещё не знали.
Никаких дискет и стримеров не было. Точнее, дисковод на головном «Корвете» был, но со странностями (об этом ниже). Первые коротенькие программки набирались быстро и в общем-то сохранения не требовали — нужные алгоритмы и функции записывались в тетрадки карандашиком. Но вот я дорос до написания Игры в Го, а одноклассник решил заняться «Морским Боем». Почему с больших букв? А вы попробуйте разрабатывать и отлаживать программу в тетради в клеточку...
Через некоторое время обе игрушки были наконец закончены и отлажены, поэтому их нужно было сохранить на дискетку для последующей быстрой загрузки, да и вообще для истории. Естественно, перед этим финальные варианты были скрупулёзно занесены в тетрадки. При сохранении возникла проблема с тем самым «весёлым» дисководом. Эта радость, побитая временем, работать сама по себе отказывалась — шпиндель приходилось раскручивать вручную, «с толкача». Процесс сохранения выглядел следующим образом:
1. На компьютере-терминале набирался нужный для сохранения код. 2. На сервере с дисководом код перекачивался в оперативную память и скармливался запущенному в фоне интерпретатору бейсика. 3. Дальше один человек не справлялся:
— Первый участник нависал над клавиатурой с целью нажать по сигналу Enter после команды SAVE "%filename%". — Второй, хитро извернувшись под столом, залезал рукой в системник и указательным пальцем держал шпиндель дисковода с целью его раскрутки. — Третий синхронизировал действия команды, отдавая приказы с определённым временным интервалом.
На практике выходило раза с третьего-четвёртого.
Помимо «запуска с толкача», у дисковода была ещё одна проблема: из интерпретатора бейсика он не мог записывать более ста строк кода за раз. Мне-то ещё повезло — го заняла всего 180 строк и сохранилась за два подхода, после чего файлы я слил в один. Однокласснику пришлось хуже — его «морской бой» занимал около тысячи строк кода. Фраза «и так 10 раз подряд» для всех участников процесса сохранения этого шедевра на дискетку имела впоследствии сакральный смысл.
Как и многие здесь, к IT я имею крайне далёкое отношение. По роду службы езжу в контору разработчика софта по нашему профилю. Пользуясь своим в меру монопольным положением (конкуренты есть, но у них всё еще хуже), ребята не особо заботятся о клиентуре — юзабилити у программы находится на уровне ночного горшка с ручкой на дне. С обеих сторон. Далеко не всем пользователям нравится такое положение вещей, но из-за упомянутой монополии выбирать не приходится.
Итак, приехал к разработчику, жду ушедшего за диском куратора. В кабинете их трое: мой вышел, с другим на повышенных тонах выясняла отношения какая-то девушка, а с третьим беседовал серьёзного вида парень, чей внешний вид недвусмысленно намекал на его спецназовское прошлое. В отличие от девушки парень не прибегал ни к высоким нотам, ни к инвективной лексике — он, что называется, «давил авторитетом на классе». Куратор сидел изрядно на нервах, регулярно промакивал пот и всем видом показывал, что его единственным желанием является скорейшее исчезновение собеседника.
Первый куратор, «беседовавший» с девушкой, в ответ на её замечание об оптимизации и стабильности (точнее об отсутствии таковых) сказал девушке что-то такое, что та не преминула отвесить ему смачную пощёчину. В гробовой тишине раздался тихий, убийственно вежливый голос «клиента», обращавшегося вроде бы ни к кому — смотрел он в стену между кураторами:
— Кстати, об оптимизации. Скажите, любезный, доводилось ли вам играть в «Готику-3»? — Да, а что? — ответил первый куратор, явно обескураженный таким поворотом событий. — А свежий патч 1.73 ставили? — Да. — Так вот, 1.73 — это оптимизация. А то, что вы продаёте нам и за что каждый месяц сдираете кругленькую сумму — это релиз. С непатченным кабаном, — тут «клиент» встаёт и его разница в габаритах с кураторами становится очевидной. — В роли кабана — я.
Концовка фразы была произнесена таким тоном, что я понял, что имел в виду Фрэнк Герберт, описывая «Голос» в своей «Дюне». Дальнейший разговор не задался — мы просто получили диски без обычного полоскания мозга, длившегося пару часов.
Не знаю, есть ли связь между событиями, но свежая версия ПО, вышедшая не так давно, работает куда шустрее и стабильнее, да и кураторы как-то подобрались.
Школа у меня была непростая — мы были экспериментальным классом информатики. В 11 классе мы с парой одноклассников временами вместо того, чтобы сидеть на уроках, вели курсы повышения квалификации у учителей информатики школ нашего района.
А как-то поставили меня неделю вести уроки у 8 класса — собственного брата и его одноклассничков, которые постоянно зависали у нас в гостях. Вхожу в кабинет. Меня полностью игнорируют, азартно гоняя в кваку: я же своя! А мне им надо по программе о «кореле» рассказывать... Я села на край стола, болтая ногой, и предложила пари:
— Значит, так. Все сейчас открываем «Арену». Я буду Дедом Морозом. Играем 15 минут. Если по итогам у вас всех в совокупности будет больше фрагов, чем у меня — вы играете всю неделю, и я ни слова вам не говорю. Если же у меня будет хотя бы на один больше — никаких развлечений.
Мальчишки, азартно вопя, рассаживаются по местам. Я стучусь одному из местных админов и прошу немедленно перехватить управление машинкой. Восьмиклашкам не повезло: админ в отрочестве занимал призовые места на городских турнирах.
Неделя выдалась удивительно спокойной и плодотворной — основы «корела» освоили все.
Работаю в сфере обслуживания компов в организациях и на дому. Довелось мне устанавливать видюху пользователям. Всё сделал, пока дрова ставятся, даю прочесть и заполнить форму приёмки-сдачи. Принимала работу немолодая женщина. Поставив подпись, она задала мне вопрос:
— А ведь его сейчас включать нельзя будет? — Почему бы? — Ну, пока детальки притрутся, видеокарта пообвыкнется в новой обстановке, ей же часа три нужно? — Эм-м-м-м... — (шёпотом, в сторону) Девочке уроки надо сделать... — (громогласно) Конечно, нужно минимум три часа!
Я работаю в техподдержке одной из игровых компаний — в основном разбираю электронную почту. Нам частенько пишут забавные письма, вот одно из наиболее запомнившихся:
«Сегодня приобрел игру, указанную в теме данного письма. У меня есть большая проблема — я не могу достать из картонной коробки упаковку с дисками. Как не пробую, не получается это сделать. С одной стороны, поиграть хочется, а с другой — боюсь упаковку порвать. Подскажите, пожалуйста, что мне сделать. Игру купил в %shop% в ТЦ %mall%, чек сохранился».
Все, кто читал письмо, на весь день получили заряд положительных эмоций. Пареньку посоветовали преодолеть страх и порвать-таки злосчастную коробку.
В 2004 году довелось мне с семьёй отдыхать на солнечном Кипре. Понадобилось мне перекинуть фотки с фотоаппарата (в нём стояла крутая флешка на 128 МБ) на компакт-диск. Для этой цели я решил посетить интернет-кафе.
Как найти интернет-кафе в раскайфованном на всю голову Лимассоле — это отдельная история. Но нашёл, и даже открытое. Захожу. Сидят несколько нормальных греческих пацанов лет по 14–16 и играют в «контру». Админ всего этого дела — человек несколько постарше, но тоже истинно греческого вида. Подхожу и на пиджин-инглише с дальневосточным акцентом пытаюсь объяснить, что мне нужно. Админ внимательно меня выслушивает, а потом изрекает:
Представьте стойку, в которой стоит шесть серверов, старый 14" моник, выдвижная клава с трекболом и KVM-переключатель на 8 портов. Еще пара серваков размещены рядом со стойкой и прикручены к тому же KVM.
В один прекрасный день на одном из этих двух стареньких, но очень нужных серверов вышел из строя разъём для мыши. Как назло, в наличии только ноутбучная USB-мышка с таким же коротким проводом. Монитор не развернуть — мешают бесперебойники, комп поближе не поставить, а надо всего лишь щёлкнуть одну кнопку мышкой. Тетрадный лист вместо коврика и короткими перебежками: «Две клетки влево? — Перелёт по горизонтали. На клетку вправо? — Недолёт по вертикали...»
Обиднее всего то, что когда мне всё же через десять минут удалось навести указатель на кнопку, под ним высветилась издевательская подсказка: «Старт (F9)».
Отлаживал простенькую игрушку. Функция должна была в месте клика выводить на экран спрайт. Два часа я думал, почему картинки корректно отображаются только на небольшой области экрана, а при клике на других областях появляются чёрт-те где. Хотел уже переустанавливать Delphi, а то и мозг, но прозрел.