http://alex-aka-jj.livejournal.com/66984.html
Совещание
24 Мар, 2011 at 10:58 PM
alex_aka_jj
Алексей Березин
Петров пришел во вторник на совещание. Ему там вынули мозг, разложили по блюдечкам и стали есть, причмокивая и вообще выражая всяческое одобрение. Начальник Петрова, Недозайцев, предусмотрительно раздал присутствующим десертные ложечки. И началось.
— Коллеги, — говорит Морковьева, — перед нашей организацией встала масштабная задача. Нам поступил на реализацию проект, в рамках которого нам требуется изобразить несколько красных линий. Вы готовы взвалить на себя эту задачу?
— Конечно, — говорит Недозайцев. Он директор, и всегда готов взвалить на себя проблему, которую придется нести кому-то из коллектива. Впрочем, он тут же уточняет: — Мы же это можем?
Начальник отдела рисования Сидоряхин торопливо кивает:
— Да, разумеется. Вот у нас как раз сидит Петров, он наш лучший специалист в области рисования красных линий. Мы его специально пригласили на совещание, чтобы он высказал свое компетентное мнение.
— Очень приятно, — говорит Морковьева. — Ну, меня вы все знаете. А это — Леночка, она специалист по дизайну в нашей организации.
Леночка покрывается краской и смущенно улыбается. Она недавно закончила экономический, и к дизайну имеет такое же отношение, как утконос к проектированию дирижаблей.
— Так вот, — говорит Морковьева. — Нам нужно нарисовать семь красных линий. Все они должны быть строго перпендикулярны, и кроме того, некоторые нужно нарисовать зеленым цветом, а еще некоторые — прозрачным. Как вы считаете, это реально?
— Нет, — говорит Петров.
— Давайте не будем торопиться с ответом, Петров, — говорит Сидоряхин. — Задача поставлена, и ее нужно решить. Вы же профессионал, Петров. Не давайте нам повода считать, что вы не профессионал.
— Видите ли, — объясняет Петров, — термин «красная линия» подразумевает, что цвет линии — красный. Нарисовать красную линию зеленым цветом не то, чтобы невозможно, но очень близко к невозможному…
— Петров, ну что значит «невозможно»? — спрашивает Сидоряхин.
— Я просто обрисовываю ситуацию. Возможно, есть люди, страдающие дальтонизмом, для которых действительно не будет иметь значения цвет линии, но я не уверен, что целевая аудитория вашего проекта состоит исключительно из таких людей.
— То есть, в принципе, это возможно, мы правильно вас понимаем, Петров? — спрашивает Морковьева.
Петров осознает, что переборщил с образностью.
— Скажем проще, — говорит он. — Линию, как таковую, можно нарисовать совершенно любым цветом. Но чтобы получилась красная линия, следует использовать только красный цвет.
— Петров, вы нас не путайте, пожалуйста. Только что вы говорили, что это возможно.
Петров молча проклинает свою болтливость.
— Нет, вы неправильно меня поняли. Я хотел лишь сказать, что в некоторых, крайне редких ситуациях, цвет линии не будет иметь значения, но даже и тогда — линия все равно не будет красной. Понимаете, она красной не будет! Она будет зеленой. А вам нужна красная.
Наступает непродолжительное молчание, в котором отчетливо слышится тихое напряженное гудение синапсов.
— А что если, — осененный идеей, произносит Недозайцев, — нарисовать их синим цветом?
— Все равно не получится, — качает головой Петров. — Если нарисовать синим — получатся синие линии.
Опять молчание. На этот раз его прерывает сам Петров.
— И я еще не понял… Что вы имели в виду, когда говорили о линиях прозрачного цвета?
Морковьева смотрит на него снисходительно, как добрая учительница на отстающего ученика.
— Ну, как вам объяснить?.. Петров, вы разве не знаете, что такое «прозрачный»?
— Знаю.
— И что такое «красная линия», надеюсь, вам тоже не надо объяснять?
— Нет, не надо.
— Ну вот. Вы нарисуйте нам красные линии прозрачным цветом.
Петров на секунду замирает, обдумывая ситуацию.
— И как должен выглядеть результат, будьте добры, опишите пожалуйста? Как вы себе это представляете?
— Ну-у-у, Петро-о-ов! — говорит Сидоряхин. — Ну давайте не будем… У нас что, детский сад? Кто здесь специалист по красным линиям, Морковьева или вы?
— Я просто пытаюсь прояснить для себя детали задания…
— Ну, а что тут непонятного-то?.. — встревает в разговор Недозайцев. — Вы же знаете, что такое красная линия?
— Да, но…
— И что такое «прозрачный», вам тоже ясно?
— Разумеется, но…
— Так что вам объяснять-то? Петров, ну давайте не будем опускаться до непродуктивных споров. Задача поставлена, задача ясная и четкая. Если у вас есть конкретные вопросы, так задавайте.
— Вы же профессионал, — добавляет Сидоряхин.
— Ладно, — сдается Петров. — Бог с ним, с цветом. Но у вас там еще что-то с перпендикулярностью?..
— Да, — с готовностью подтверждает Морковьева. — Семь линий, все строго перпендикулярны.
— Перпендикулярны чему? — уточняет Петров.
Морковьева начинает просматривать свои бумаги.
— Э-э-э, — говорит она наконец. — Ну, как бы… Всему. Между собой. Ну, или как там… Я не знаю. Я думала, это вы знаете, какие бывают перпендикулярные линии, — наконец находится она.
— Да конечно знает, — взмахивает руками Сидоряхин. — Профессионалы мы тут, или не профессионалы?..
— Перпендикулярны могут быть две линии, — терпеливо объясняет Петров. — Все семь одновременно не могут быть перпендикулярными по отношению друг к другу. Это геометрия, 6 класс.
Морковьева встряхивает головой, отгоняя замаячивший призрак давно забытого школьного образования. Недозайцев хлопает ладонью по столу:
— Петров, давайте без вот этого: «6 класс, 6 класс». Давайте будем взаимно вежливы. Не будем делать намеков и скатываться до оскорблений. Давайте поддерживать конструктивный диалог. Здесь же не идиоты собрались.
— Я тоже так считаю, — говорит Сидоряхин.
Петров придвигает к себе листок бумаги.
— Хорошо, — говорит он. — Давайте, я вам нарисую. Вот линия. Так?
Морковьева утвердительно кивает головой.
— Рисуем другую… — говорит Петров. — Она перпендикулярна первой?
— Ну-у…
— Да, она перпендикулярна.
— Ну вот видите! — радостно восклицает Морковьева.
— Подождите, это еще не все. Теперь рисуем третью… Она перпендикулярна первой линии?..
Вдумчивое молчание. Не дождавшись ответа, Петров отвечает сам:
— Да, первой линии она перпендикулярна. Но со второй линией она не пересекается. Со второй линией они параллельны.
Наступает тишина. Потом Морковьева встает со своего места и, обогнув стол, заходит Петрову с тыла, заглядывая ему через плечо.
— Ну… — неуверенно произносит она. — Наверное, да.
— Вот в этом и дело, — говорит Петров, стремясь закрепить достигнутый успех. — Пока линий две, они могут быть перпендикулярны. Как только их становится больше…
— А можно мне ручку? — просит Морковьева.
Петров отдает ручку. Морковьева осторожно проводит несколько неуверенных линий.
— А если так?..
Петров вздыхает.
— Это называется треугольник. Нет, это не перпендикулярные линии. К тому же их три, а не семь.
Морковьева поджимает губы.
— А почему они синие? — вдруг спрашивает Недозайцев.
— Да, кстати, — поддерживает Сидоряхин. — Сам хотел спросить.
Петров несколько раз моргает, разглядывая рисунок.
— У меня ручка синяя, — наконец говорит он. — Я же просто чтобы продемонстрировать…
— Ну, так может, в этом и дело? — нетерпеливо перебивает его Недозайцев тоном человека, который только что разобрался в сложной концепции и спешит поделиться ею с окружающими, пока мысль не потеряна. — У вас линии синие. Вы нарисуйте красные, и давайте посмотрим, что получится.
— Получится то же самое, — уверенно говорит Петров.
— Ну, как то же самое? — говорит Недозайцев. — Как вы можете быть уверены, если вы даже не попробовали? Вы нарисуйте красные, и посмотрим.
— У меня нет красной ручки с собой, — признается Петров. — Но я могу совершенно…
— А что же вы не подготовились, — укоризненно говорит Сидоряхин. — Знали же, что будет собрание…
— Я абсолютно точно могу вам сказать, — в отчаянии говорит Петров, — что красным цветом получится точно то же самое.
— Вы же сами нам в прошлый раз говорили, — парирует Сидоряхин, — что рисовать красные линии нужно красным цветом. Вот, я записал себе даже. А сами рисуете их синей ручкой. Это что, красные линии по-вашему?
— Кстати, да, — замечает Недозайцев. — Я же еще спрашивал вас про синий цвет. Что вы мне ответили?
Петрова внезапно спасает Леночка, с интересом изучающая его рисунок со своего места.
— Мне кажется, я понимаю, — говорит она. — Вы же сейчас не о цвете говорите, да? Это у вас про вот эту, как вы ее называете? Перпер-чего-то-там?
— Перпендикулярность линий, да, — благодарно отзывается Петров. — Она с цветом линий никак не связана.
— Все, вы меня запутали окончательно, — говорит Недозайцев, переводя взгляд с одного участника собрания на другого. — Так у нас с чем проблемы? С цветом или с перпендикулярностью?
Морковьева издает растерянные звуки и качает головой. Она тоже запуталась.
— И с тем, и с другим, — тихо говорит Петров.
— Я ничего не могу понять, — говорит Недозайцев, разглядывая свои сцепленные в замок пальцы. — Вот есть задача. Нужно всего-то семь красных линий. Я понимаю, их было бы двадцать!.. Но тут-то всего семь. Задача простая. Наши заказчики хотят семь перпендикулярных линий. Верно?
Морковьева кивает.
— И Сидоряхин вот тоже не видит проблемы, — говорит Недозайцев. — Я прав, Сидоряхин?.. Ну вот. Так что нам мешает выполнить задачу?
— Геометрия, — со вздохом говорит Петров.
— Ну, вы просто не обращайте на нее внимания, вот и все! — произносит Морковьева.
Петров молчит, собираясь с мыслями. В его мозгу рождаются одна за другой красочные метафоры, которые позволили бы донести до окружающих сюрреализм происходящего, но как назло, все они, облекаясь в слова, начинаются неизменно словом «Блять!», совершенно неуместным в рамках деловой беседы.
Устав ждать ответа, Недозайцев произносит:
— Петров, вы ответьте просто — вы можете сделать или вы не можете? Я понимаю, что вы узкий специалист и не видите общей картины. Но это же несложно — нарисовать какие-то семь линий? Обсуждаем уже два часа какую-то ерунду, никак не можем прийти к решению.
— Да, — говорит Сидоряхин. — Вы вот только критикуете и говорите: «Невозможно! Невозможно!» Вы предложите нам свое решение проблемы! А то критиковать и дурак может, простите за выражение. Вы же профессионал!
Петров устало изрекает:
— Хорошо. Давайте я нарисую вам две гарантированно перпендикулярные красные линии, а остальные — прозрачным цветом. Они будут прозрачны, и их не будет видно, но я их нарисую. Вас это устроит?
— Нас это устроит? — оборачивается Морковьева к Леночке. — Да, нас устроит.
— Только еще хотя бы пару — зеленым цветом, — добавляет Леночка. — И еще у меня такой вопрос, можно?
— Да, — мертвым голосом разрешает Петров.
— Можно одну линию изобразить в виде котенка?
Петров молчит несколько секунд, а потом переспрашивает:
— Что?
— Ну, в виде котенка. Котеночка. Нашим пользователям нравятся зверюшки. Было бы очень здорово…
— Нет, — говорит Петров.
— А почему?
— Нет, я конечно могу нарисовать вам кота. Я не художник, но могу попытаться. Только это будет уже не линия. Это будет кот. Линия и кот — разные вещи.
— Котенок, — уточняет Морковьева. — Не кот, а котенок, такой маленький, симпатичный. Коты, они…
— Да все равно, — качает головой Петров.
— Совсем никак, да?.. — разочарованно спрашивает Леночка.
— Петров, вы хоть дослушали бы до конца, — раздраженно говорит Недозайцев. — Не дослушали, а уже говорите «Нет».
— Я понял мысль, — не поднимая взгляда от стола, говорит Петров. — Нарисовать линию в виде котенка невозможно.
— Ну и не надо тогда, — разрешает Леночка. — А птичку тоже не получится?
Петров молча поднимает на нее взгляд и Леночка все понимает.
— Ну и не надо тогда, — снова повторяет она.
Недозайцев хлопает ладонью по столу.
— Так на чем мы остановились? Что мы делаем?
— Семь красных линий, — говорит Морковьева. — Две красным цветом, и две зеленым, и остальные прозрачным. Да? Я же правильно поняла?
— Да, — подтверждает Сидоряхин прежде, чем Петров успевает открыть рот.
Недозайцев удовлетворенно кивает.
— Вот и отлично… Ну, тогда все, коллеги?.. Расходимся?.. Еще вопросы есть?..
— Ой, — вспоминает Леночка. — У нас еще есть красный воздушный шарик! Скажите, вы можете его надуть?
— Да, кстати, — говорит Морковьева. — Давайте это тоже сразу обсудим, чтобы два раза не собираться.
— Петров, — поворачивается Недозайцев к Петрову. — Мы это можем?
— А какое отношение ко мне имеет шарик? — удивленно спрашивает Петров.
— Он красный, — поясняет Леночка.
Петров тупо молчит, подрагивая кончиками пальцев.
— Петров, — нервно переспрашивает Недозайцев. — Так вы это можете или не можете? Простой же вопрос.
— Ну, — осторожно говорит Петров, — в принципе, я конечно могу, но…
— Хорошо, — кивает Недозайцев. — Съездите к ним, надуйте. Командировочные, если потребуется, выпишем.
— Завтра можно? — спрашивает Морковьева.
— Конечно, — отвечает Недозайцев. — Я думаю, проблем не будет… Ну, теперь у нас все?.. Отлично. Продуктивно поработали… Всем спасибо и до свидания!
Петров несколько раз моргает, чтобы вернуться в объективную реальность, потом встает и медленно бредет к выходу. У самого выхода Леночка догоняет его.
— А можно еще вас попросить? — краснея, говорит Леночка. — Вы когда шарик будете надувать… Вы можете надуть его в форме котенка?..
Петров вздыхает.
— Я все могу, — говорит он. — Я могу абсолютно все. Я профессионал.
#7156: Юзабилити щетины
16:45 02.09.2011, IT happens
Звонит друг-айтишник, спрашивает: «Как дела, как форточки?» Я, лингвист, в недоумении: на прошлой неделе лечили комп от вирусов, но с виндой проблем вроде не было. Нормально, говорю, винда у меня и не глючила. Теперь в непонятках уже друг: «Я про твой ремонт! Тебе ещё надо помочь окна покрасить?»
Вот так, айтишники. Приучили простых юзеров к тому, что вечно щеголяете своим профессиональным сленгом по поводу и без? Может и отрикошетить.
Зато теперь вместо «иди побрейся» я говорю «иди сделай юзер-френдли интерфейс».
#8693: SuperPuperAntiGame, или Гонка вооружений
13:00 08.03.2012, IT happens
В 1990 году поступил я в МВТУ им. Баумана и попутно устроился работать оператором в местный вычислительный центр под названием «Аквариум». Только-только появились первые персоналки, и к нам как раз завезли суперсовременные компьютеры IBM PC XT. Как водится, студенты сразу же вместо занятий стали на них играть.
Начальство поставило задачу игры запретить. Сначала пытались бороться словесно — не помогало. Тогда я решил бороться программно и взялся за изучение ассемблера. Через пару месяцев появился первый продукт под названием AntiGame. Программа резидентно висела в памяти, перехватывала запуск программ через функцию 4Bh 21 прерывания и имела базу сигнатур различных игр — просто читался кусок данных размером 32 байта из файла со смещением 1000h. Если запускаемая программа совпадала с одной из сигнатур, то считалась игрой. Запуск обрывался, в буфер клавиатуры посылалось echo y|del., проигрывалась веселая мелодия. Через месяц мелодию знали все.
Пару месяцев всё шло хорошо, база сигнатур пополнялась, студенты ходили злые и вынуждены были заниматься делом. Но тут группа студентов тоже села за ассемблер и через месяц хакнула мою программку. Хак быстро распространился среди посетителей «Аквариума», студенты снова стали довольные, играли повсеместно, а мелодии было не слышно. Отловив и изучив хак, я выяснил, что там тупо восстанавливался оригинальный вектор 21 прерывания, и моя программка обламывалась.
Покумекав, я взялся за клавиатуру. Спустя пару месяцев родился шедевр под названием SuperAntiGame. Это была шедевральная программа, написанная с использованием всех современных технологий, включая вирусные. Частично она даже использовала неизвестный тогда механизм «стелс», чем я до сих пор горжусь. Программа перехватывала 13 и 21 прерывания, причём не обычным способом, а путём внедрения в точки входа в области DOS, что делало бесполезным восстановление оригинальных векторов прерывания. В функциях поиска, открытия и записи файлов делалась проверка на имя файла antigame.exe и в случае совпадения возвращалась ошибка «File not found», так что ни один из «коммандеров» программу не видел. Также перехватывалось прерывание таймера 1Ch — на нём висела функция, постоянно проверяющая код в памяти. Если хотя бы один бит был изменён, то отключалась клавиатура, запускалась мелодия, флаг read only со всех файлов в текущем каталоге снимался, а в буфер клавиатуры отправлялось так любимое студентами echo y|del.. Помимо этого, там было ещё множество новаторских решений. Полный исходник занимал около 300 КБ текста, откомпилированный файл — 9 КБ.
Около года лучшие студенческие умы безуспешно бились за право играть в игрушки и пытались взломать мою программу. Почти год я ходил королём, пока в один прекрасный день не увидел нагло ухмыляющегося студента, демонстративно играющего в тетрис и смотрящего на меня с ехидцей. Моя программа была повержена.
Я, конечно, не питал иллюзий и знал, что рано или поздно это случится. К тому времени подходила к концу разработка бета-версии нового SuperPuperAntiGame, работающего в защищённом режиме только вышедшего тогда процессора 386SX, первые компьютеры с которым появились в нашем «Аквариуме».
Жаль, не удалось тогда довести задуманное до конца — увлёкся другим делом и AntiGame забросил. Но и сейчас, спустя два десятилетия, я вспоминаю эту гонку вооружений и думаю, какой же стимул для изучения программирования дала и сколько же талантливых программистов вырастила жажда игр.
#8625: Мои милые гики: свитер — это магия
20:45 28.02.2012, IT happens
Искренне сочувствую тебе, экс-гик (История #8443). Но, поверь, бывает и хуже.
Меня, начинающего (правда, недообразованного) компьютерного дизайнера и фотографа по совместительству, всегда тянуло на горбатых, свитерастых, бородатых, очкастых, бледных и желательно страшненьких понятно кого. Причём с зарплатой немного пятизначной, а лучше и вовсе четырёх. Ясное дело, в рублях. Да, в нашем городе такие есть. У младших научных сотрудников, например. А если ещё и смена раскладки у него на Ctrl+Shift, так вообще идеал! Да только просьб помочь с компом у меня маловато всегда было: стыдно мне как-то из-за фигни умных людей дёргать, стараюсь по возможности сама разобраться.
Борщом вас не заманишь — это сказки. Даже пирог с креветками вам пофигу! Один только на сырники любовно смотрел. Но не на меня. Готовлю я, кстати, просто шедеврально, в институте подрабатывала поваром — отбоя не было. Вы даже пива — и того не пьёте, хоть все об этом и говорят!
Внешность, слава богу, у меня более чем презентабельна. Да только один хрен не нужна я никому. Ни в платье вечернем и жемчугах, ни с ирокезом в косухе, ни в сарафане романтическом в вечерних солнца лучах, ни в свитере с оленем и кедах. Ни со скейтом, ни с гитарой, ни с ноутом, ни с книгой, ни с половником и скалкой, ни с кистью и карандашом, ни с фотоаппаратом. Ни в очках, ни без. Нравятся вам гламурные сучки с силиконовым мозгом, все в стразиках. Только им мачо подавай с шестизначной зарплатой. Это в генетическом коде у них заложено.
Вот гики и страдают. И я страдаю. Читать, прости господи, Робски ниже моего достоинства, собачек маленьких не люблю, а на шпильках ходить не могу из-за больного сустава. Простите меня, гики, что пристаю к вам. Куда ж мне такой, юродивой…
#8443: Снимайте свитер вовремя
15:00 06.02.2012, IT happens
Бывает, когда в тощее нескладное нечто в свитере, обожающее компьютеры в частности и технику вообще, никто вовремя не влюбляется. В один прекрасный день тощее нескладное нечто понимает, что смотреть на себе в зеркало и недовольно кривиться — не дело.
Носимый годами жестокий корсет выпрямляет спину и расправляет плечи. Те же самые годы тренировок и тупого поднимания тяжелых железяк в спортзале наращивают неплохую мускулатуру. Растрёпанные волосы гика сменяет аккуратная короткая стрижка. Операция на глазах — и об очках можно забыть навсегда. Несколько дней в солярии — и болезненная компьютерная бледность переходит в ровный здоровый загар. Драный свитер и ношеные джинсы сменяет сначала дорогой кашемировый костюм, а потом — парадный белый китель.
Неумение постоять за себя исправляется двумя чёрными поясами и уровнем мастера спорта по стрельбе из пистолета. Этот же пистолет практически постоянно живёт в наплечной кобуре.
Любовь к технике и компьютерам остаётся и позволяет выпуститься из одного из самых престижных университетов в мире. Шестизначная зарплата в долларовом эквиваленте на начало карьеры прилагается и в будущем будет только увеличиваться.
Ах да, живёт бывшее нечто в солнечной Калифорнии, гражданство — соответствующее.
Девушки слюнями не истекают — просто захлёбываются, особенно изредка встречаемые русские. В чём же проблема? Да просто морфировавший гик очень хорошо помнит, как такие же девушки относились к нему в прошлом, и в упор не может заставить себя поверить в искренность чувств, не говоря уже о том, чтобы ответить на эти чувства хоть какой-то взаимностью. Говорить о любви он научился, но в собственной способности испытывать это светлое чувство сильно сомневается.
Экс-гику 27 лет. Ни детей, ни семьи, только длинная череда оставленных девушек. Хочется сказать «с разбитыми сердцами», но как-то искренне в это поверить не получается. Самому противно, на самом деле, но что выросло, то выросло.
А мораль истории проста. Свитер можно и снять, только вот это надо сделать вовремя. Потому что в противном случае он снимется сам — и результат вам не понравится.