Сегодня в гостях у рубрики "Кто есть кто" - Змей Петров, автор программы Picture Pump (о ней рассказывается в этом же номере). Личность очень интересная, словоохотливая и одновременно загадочная - настоящее имя и фамилия, несмотря на все мои старания, так и остались неизвестными.
Змей ПЕТРОВ: "29 лет, высшее образование (лингвист, преподаватель английского языка). Работал учителем английского языка в средней школе (адский труд - учителям нашим нужно ставить памятник только за то, что они в школу приходят, а уж если они еще и учат чему-то - так это вообще подвиг). Поработал специалистом по трудоустройству, начальником отдела, а также ассистентом, наборщиком... В данный момент работаю, как ни странно, программистом - пишу биллинговую систему для нужд местного интернет-провайдера. Знание английского языка, кстати, очень помогает жить (а вот незнание высшей математики почему-то не мешает:)).
Что-то я все о работе да о работе... Семейное положение у меня имеется. Женат, двое детей (мальчики). Для того, чтобы не отрываться от реальной жизни, этого хватает с лихвой. Как показывает практика, не компьютером единым жив человек - иногда и потомство повоспитывать надо:)."
Лингвист с опытом программиста
- Откуда, вообще говоря, появился такой ник, как Змей Петров? Почему Вы решили применить его к себе?
- Ник появился, вестимо, из одноименной песни группы ДДТ. Песня была "в тему" как раз в пору начала моего студенчества (ГКЧП, Ельцин на баррикадах и прочие катаклизмы). Правда, почему он прилип именно ко мне, да еще так крепко, для меня самого загадка. Кто именно придумал так меня обозвать - тоже загадка.
Я не скрываю свою настоящую фамилию. Просто считаю, что каждый человек имеет право на некоторую анонимность и свободу в интернете. Собственно, ник до того прилипчив, что и в реальной жизни меня чаще называют Змеем, чем моими паспортными данными.
- Почему, имея лингвистическое образование, Вы все же решили заняться программированием? Вот другие говорят, что сидеть днями у монитора - это не для них...
- Лингвистика имеет довольно много общего с программированием. И то, и другое, по своей сути, - кодирование информации с целью достижения какой-то цели (в лингвистике - для коммуникации, в программировании - для объяснения этой тупой "железяке" чего же ты от нее хочешь).
Кроме того, есть и практический аспект. Лингвистическое образование сейчас позволяет работать или в школе учителем (зарабатывать гроши и гробить здоровье), или переводчиком (крайние случаи типа "остаться в университете, поступить в аспирантуру и стать профессором" опустим). "Уехать за границу" (как мечтают многие, поступавшие в иняз) можно и без лингвистического образования (за полгода научишься "шпрехать по-ихнему", деваться-то некуда). Знанием английского языка в Америке никого не удивишь - они там все по-английски говорят.
Зарплата переводчика не так уж велика, а объем работ большой. Да и работать приходится в основном перед тем же монитором - в одном окне исходный документ, в другом перевод, тут же рядом болтаются электронные словари... Для качественного перевода приходится "перекраивать" каждую фразу, разбивать длинные фразы на несколько более коротких, склеивать короткие в длинные, если это будет звучать лучше. Не очень творческий процесс, особенно при переводе технических текстов (какой там полет фантазии? Сплошные термины). Программирование все-таки процесс более творческий. Да и без работы я никогда не останусь.
- Змей, когда же Вы почувствовали в себе задатки к программированию?
- Увлечение вычислительной техникой (язык не поворачивается назвать ее "компьютерной") началось еще в школе, в процессе штудирования подшивок журналов "Наука и жизнь" и "Техника молодежи". Были в них рубрики, посвященные программам (сначала для программируемых калькуляторов, потом, собственно, компьютерные программы). Там же, в "Науке и жизни", отыскался краткий курс по программированию калькуляторов. Захотелось попробовать свои силы в этом деле, благо калькулятор нужной конструкции ("МК-61") довольно быстро появился. Эх, прямо-таки ностальгия...
- А, может, вспомните свою первую программу?
- Более-менее приличная программа (точнее, игра) для калькулятора у меня "получилась" довольно удачной - я в нее даже сам играл с удовольствием. Вкратце: мышь перемещается по лабиринту 8х10 клеток, между каждой клеткой дверца, открывающаяся в обе стороны, только в одну или запертая совсем. Нужно было выйти из лабиринта (дойти до любого из углов). Для калькулятора, с его очень ограниченными возможностями, это была довольно приличная игра. Написана она была на языке команд - это нечто низкоуровневое, смутно напоминающее ассемблер для "настоящих" компьютеров.
Позже у меня появился настоящий компьютер, подаренный на день рожденья. Аж целых 64 Кб памяти, встроенный Бейсик, процессор КР580 (даже до знаменитого ZX Spectrum не дотягивал). Быстро обнаружившиеся глюки встроенного Бейсика, попытки изучить методом "научного тыка" язык машинных команд, впрочем, довольно успешные. В конце концов, был написан на Бейсике свой транслятор с ассемблера в машинные коды, впоследствии для скорости частично переписанный на ассемблере (забавная штучка получилась, там был даже встроенный строковый редактор). Развлечения в виде попыток оцифровки звука с последующим "пропискиванием" его через встроенную пищалку, попытки изобрести свой способ записи данных на магнитную ленту (впрочем, не очень успешные), числовые эксперименты...
В институте был свой компьютерный класс, частенько пустовавший (студенты-лингволухи к компьютерам не очень склонны, так что у меня было время "поиграться"). Кроме забавных программок, рождались и нужные для человечества "шедевры" - языковые тесты, обучалки и т.п. Написал даже невзрачный графический редактор на Бейсике, позволявший автоматизировать самую "страшную" для студентов тему тогдашнего компьютерного курса - рисование на экране при помощи операторов того же Бейсика. По удобствам редактор не дотягивал даже до уровня Paint'а, входящего в стандартную поставку Windows, зато позволял сохранить результаты рисования в виде текста "настоящей" программы на Бейсике.
Далее, в пору "старшего студенчества", был собран IBM-совместимый компьютер со смешными на сегодняшний день характеристиками. Зато на нем я мог денно и нощно развлекаться, не боясь быть выгнанным из-за очередного занятия. На "своем" компьютере (стоит ли удивляться, что это был единственный компьютер на всю общагу) я практиковался в различных языках программирования, изучал Ассемблер, играл с Паскалем, вплотную занялся Си. Вирусы тоже писал (куда ж без них - все начинающие программисты баловались в то время).
- Не возникало ли желание воскресить свои старые программы и игры? Хотя бы ту же "Мышь"?
- Было, естественно. Даже воскрешал - и "Мышь", и многие другие калькуляторные игры и программы. Но играть в игры на компьютере - это не совсем то же самое, что играть на калькуляторе. Совсем другая атмосфера! Нет той прелести, что ли. Помню как сейчас: сначала долго вводишь в калькулятор программу игры - "шаманский код", потом запускаешь ее. Калькулятор довольно долго "думает", мигает индикатором и вот он готов принять твою первую команду. Рисуешь на бумаге в клеточку игровое поле (у калькулятора графических дисплеев нет), делаешь первый ход. Каждый ход - полминуты размышлений калькулятора (обсчитывает твою команду) и твоих (прикидываешь, каков будет твой следующий ход, если там, куда ты пошел сейчас будет стенка: "А если ее не будет - пойдем туда-то, или, может быть, сюда?").
Когда в ту же игру играешь на компьютере, перед тобой "открытым текстом" нарисовано игровое поле. Игра запускается за доли секунды, ход делается мгновенно, результат хода - перед глазами, управление удобное - курсорными клавишами. И вся игра превращается в малоосмысленное метание по лабиринту - авось повезет.
Самая удачная качалка картинок
- Какие из Ваших программ являются наиболее удачными?
- "Удачность" программы - понятие очень растяжимое. В то время, когда программы писались "для развлечения себя", критерием удачности программы было уже то, что она работала и выдавала результаты своей работы. Сейчас я пишу программы "под заказ", и критерием удачности стала скорость написания (правильность работы программы принимается как нечто само собой разумеющееся). С точки зрения известности широкой публике, без сомнения, самая удачная моя программа - это Picture Pump, единственное "творение", выпущенное в свободное плавание по просторам интернета.
- Змей, как родилась у Вас идея создать Picture Pump?
- Идея пришла, как обычно, неожиданно (как говорят, идея "витала в воздухе"). Удивительно, как много в нашей жизни зависит от этих маленьких "озарений" - сначала тысячи людей смотрят на проблему и не видят простого решения, а потом уже не могут представить себе, как можно было решить проблему иначе.
Обстоятельства создания программы были тривиальными: просто захотелось выкачать из интернета пару длинных-предлинных галерей картинок (сейчас и сервера-то того нет). Побившись над выкачиванием вручную, захотелось автоматизировать процесс. Так и появился на свет проект Picture Pump.
- Какие проблемы возникали по ходу работы над программой?
- Куда же без них, родимых. Основная проблема - недостаток времени. Глюки, несовместимости различных версий Windows, странные конфигурации систем, странные (иногда забавные) жалобы пользователей. Например, дядечка, жалующийся на то, что он поставил на свой домашний компьютер Picture Pump, но программа "не работает". По ходу выяснения обстоятельств пьесы оказывается, что дома у него вообще интернета нет, а письма он отсылает с работы.:)
- Понятно. А есть ли конкуренты у программы?
- Конкуренты есть. Правда, они все какие-то не очень страшные, эти конкуренты. У Picture Pump много недостатков, но в целом это достаточно доработанный продукт и "обогнать" его по функциональности достаточно сложно (вот такой я скромный).
Конкурентами можно считать любую качалку файлов из интернета, например, Teleport Pro или ReGet. В частности, до меня доходили слухи о наличии плагина к ReGet, позволяющего скачивать нумерованные файлы. Другим типом "конкурентов" являются программы для генерации URL-листов: задаешь параметры счетчиков, жмешь кнопочку - и программа генерирует список URL с этими счетчиками. Далее этот список "скармливается" менеджеру закачек типа того же ReGet или FlashGet. Пример такого "конкурента" - GetRight Download List Generator (стоимостью аж $20).
Плагина я так и не увидал, пользоваться списками файлов для скачивания, как вы можете себе представить, довольно неудобно. В общем, с конкурентами пока все как-то несерьезно.
- Какие недостатки Picture Pump Вы имеете в виду? Собираетесь ли Вы в будущем устранить их?
- Основной недостаток - не очень гибкая генерация новых URL. Сейчас используется всего один счетчик, причем только цифровой. В будущем планируется сделать программу более "развесистой" в этом плане. Ну и как обычно - хочется добавить некоторые полезные опции (например, воссоздание структуры каталогов сервера на локальном диске), загрузку файлов по списку (чтобы не было нужды использовать для этого сторонние менеджеры закачек), и т.д.
Хобби и работа слились воедино
- Есть ли у Вас хобби?
- Моя работа - мое хобби. Хобби, переросшее в работу, работа, выросшая из хобби. Жена иногда меня оттаскивает от компьютера буквально за уши, чтобы от "хобби" совсем крыша не уехала.:)
Из активных видов отдыха предпочитаю езду (точнее, катание) на велосипеде - любовь к этому нехитрому средству передвижения у меня с детства. Своим видом (отсутствующий взгляд, пузцо и небритая физиономия) периодически вгоняю в ступор окрестных бабушек и детей. Из менее активных видов отдыха - избранные компьютерные игрушки, посиделки с пивком и друзьями.
- Кстати, жена не против тех галерей, которые вытягивает Picture Pump с Вашего домашнего компьютера?
- На моем домашнем компьютере эротики практически нет - я на нем работаю, а не картинки смотрю. Уже давным-давно картинки скачиваю только по необходимости - проверить проект, например. Так что жена не против (она у меня вообще-то умница, ее "голыми ногами" не испугаешь). :)
На моем сайте есть раздел, предназначенный для обмена проектами между посетителями. Этот эксперимент показал, что пользователей в основном интересуют три вещи: эротика, эротика и снова эротика. В принципе, это понятно, но иногда так и хочется спросить: неужели в интернете нет ничего более достойного внимания, чем очередной сайт "с тетками"? Так что периодически приходится заниматься модерацией - "прореживанием" разделов, чтобы соблюдались хотя бы элементарные приличия. Впрочем, если мне надоест заниматься "садово-огородными работами" в разделах сайта, я приму жесткие меры для ограничения притока "нездорового" контента.
- А приносит ли Ваше занятие программированием прибыль?
- Работа есть работа - получаю за свою работу деньги, как всегда, их не хватает. Что касается Picture Pump - это изначально проект "для души", полностью бесплатный, соответственно, денег не приносит (не считая единичных пожертвований, которые, опять же, "от души").
- Имея солидный опыт программирования, что бы Вы могли посоветовать новичкам в сфере shareware-бизнеса?
- Начинающим программистам я бы советовал не заниматься shareware вообще, но кто же меня послушает?:) А если серьезно, то для того, чтобы за программу требовать деньги, нужно самому быть уверенным в ее полезности и функциональности. Иногда стыдно наблюдать, как требуют деньги, и немалые, за какую-то мелочь, по своей нужности примерно равную кнопке Scroll Lock на клавиатуре (вы ее часто нажимаете? Я вообще никогда).
Другое дело, если программа действительно нужна пользователю. Но и в этом случае требовать за нее денег иногда просто наивно. Вы уверены, что ваша программа хорошо защищена от взлома? Уверены, что в ней нет ошибок? Уверены, что пользователь получит от нее то, что он ожидал? И самое главное: вы уверены, что хлопоты, связанные с оплатой программы, окупятся в глазах пользователя?
- Наверняка при распространении происходили какие-то интересные случаи?
- Бывало... То письмо придет, в котором, если весь мат опустить, ничего и нет. То упорная просьба реализовать в программе то, что в ней есть изначально. Хуже всего бывает тогда, когда пользователи просят то, что я по каким-либо причинам не могу или не хочу добавлять в программу - в этом случае приходится объяснять, долго и упорно, почему именно этого в программе быть не может или не должно. Например, просьбы добавить функцию "выкачать все картинки с сайта независимо от их имени". Или просьбы добавить в программу "подбиралку" паролей к платным сайтам. На ответ "программа Picture Pump не предназначена для взлома сайтов, это не инструмент хакера, а специализированный download-менеджер. Обычно следует до боли наивный, но характерный вопрос: "Но ведь твоя программа бесплатная - значит, это хакерский софт?".
Кстати, довольно показательно отношение наших людей к бесплатному ПО - все, что бесплатно, это или вирус, или "набор молодого хакера". Иногда просто грустно становится, насколько наш народ отравлен привычкой "украсть, что плохо лежит". Некоторые просто не верят, что программа бесплатная и ищут в этом хоть какой-то подвох. Обычно "озарение" приходит в таком виде: "Я знаю, почему она бесплатная - в ней скрыт вирус (троянский конь, интернет-червь)!"
Интересно бывает наблюдать, как пользователи ухитряются использовать программу для того, что мне и в голову никогда бы не пришло. Например, одна из мелких компаний в США выкачивала с ее помощью онлайновый справочник своих конкурентов (в ознакомительных, как они выразились, целях). Иногда вместо картинок народ выкачивал программой целые библиотеки документов в формате PDF, коллекции MIDI-файлов. Однажды даже распределенную атаку на web-сервер пытались с ее помощью провести.
- Змей, над чем сейчас работаете? Чего стоит ожидать от Вас в будущем?
- Сейчас у меня очередное увлечение - UNIX. Благо и работа связана с написанием программ для юниксов/линуксов. В планах выпустить новую версию Picture Pump многоплатформенной - как минимум под Windows и Linux, а в дальнейшем и под другие клоны UNIX. Подумываю даже о том, чтобы сделать Picture Pump полностью "открытой" программой - с тем, чтобы каждый желающий принять участие в ее разработке мог внести свой вклад в ее написание. Мешает, как обычно, вечная нехватка времени...
Беседовал Павел БАДЯЛИК
Комментарии
Пробовал, сравнивал, поэтому и написал.