Главная

Интервью IsComputerOn.com с Алексеем Hitech`ом по поводу Google Summer of Code 2009

Это интервью со мной было опубликовано на сайте IsComputerOn вскоре после объявления участников проекта Google Summer of Code 2009, в рамках публикации интервью со всеми, подававшими заявки на участие. Я, к сожалению, в этом году участником проекта не стал, но это не означает, что я не буду пытаться дальше :) Представляю вашему вниманию перевод текста интервью на русский язык.

Интервью опубликовано в виде литературного перевода, поэтому могут быть небольшие расхождения с оригинальным текстом. В любом случае, я старался максимально точно передать идею, а не предоставлять буквальный перевод.

--------–начало перевода--------–
Сегодня мы в ICO представляем вам ещё одно интервью из серии Google Summer of Code, с принятыми и не принятыми студентами. Сегодняшнее интервью – с Алексеем Hitech`ом, израильтянином с русскими корнями.

Итак, без промедлений, наслаждайтесь чтением!

ICO – Для начала, почему бы вам не рассказать нам о себе? Как вы начали кодить?

Hitech – Эти два вопроса очень тесно связаны друг с другом, поэтому я отвечу на них разом. Меня зовут Алексей. Я родился в России, (если быть точнее, то в Советском Союзе), в 1978 году, в столице Западной Сибири, городе Иркутске. Кстати, я хотел бы использовать эту возможность, чтобы исправить ошибку, которую совершают многие люди, когда говорят о Сибири: обычно они представляют её себе как морозное, вьюжное, снежное место. Тогда как это обычно справедливо для зимы, с температурами, опускающимися до -30°С и ниже, лето там обычно очень жаркое, и летние температуры добираются до +40°С. А никто и не говорил, что жизнь в таких местах – штука лёгкая :)

Как бы там ни было, когда мне было 5 лет, моя семья переехала в другое место в России, в маленький город Нальчик на Северном Кавказе, всего в 200 километрах от Чечни. В Нальчике я пошёл в школу, и там же получил первый опыт работы на компьютерах. Когда мне было семь лет от роду, мой папа начал работать в строительной компании, которая производила расчёты на компьютерах серии ЕС. Это, по сути, были старые добрые IBM–овские мейнфреймы, украденные Советами и производимые под другим названием. Та технология сейчас может быть найдена разве что в музеях, и она потребовала бы по–настоящему большой выставочный зал: компьютер, мощностью равный современному калькулятору, занимал комнату размером с баскетбольный зал с контролируемыми влажностью и температурой воздуха. Я за свои слова отвечаю, я «работал» с этой аппаратурой. Даже в то время – заметьте, я говорю о 1985–м – западный мир уже наслаждался Apple`овскими Macintosh`ами, первой версией Microsoft Windows (ыыы), жёсткими дисками и прочими плодами прогресса. В то же самое время я, если и получал разрешение использовать ценные ресурсы для моих первых попыток программирования, набирал свои программы – текстовые игрушки в стиле rogue – на BASIC и хранил их на перфокартах, перфолентах или (редко) на магнитных лентах. Обычно получить разрешение не было проблемой, потому что мой отец был начальником компьютерного отдела.

Этот же компьютерный отдел был тем местом, где я впервые увидел персональный компьютер — «Искру–226», компьютер, созданный советскими инженерами; фактически, он являлся копией Wang 2200. Эта игрушка попала мне в руки в 1987–м. У этого компа был 8–дюймовый дисковод с 237–килобайтными дискетами, графический монохромный дисплей со сногсшибательной диагональю в 31 см (12 дюймов) и с разрешением 512x256. Весило это чудо чуть больше 40 килограммов. Неоспоримый плюс этого гроба – и тут я не шучу – был компилятор BASIC`а, интегрированный в командную строку. Таким образом, пользователь мог начинать писать программу (10 INPUT X, “Enter”, 20 PRINT X и так далее) прямо в командной строке, запустить её, проверить и т. д. – и всё это без того, чтобы запускать специализированную среду разработки. Я на полном серьёзе считаю, что это преимущество было недооценено, и командная строка, объединённая со средой разработки, — это неплохая штука.

У «Искры–226» был также свой жёсткий диск – внешний, производства восточногерманской фирмы Robotron, размером с проигрыватель грампластинок, ёмкостью в 5 мегабайт. Сквозь прозрачную крышку можно было видеть, как движется читающая головка. Было очень весело писать программы, управляющие движением читающей головки. Мне не разрешалось использовать этот жёсткий диск для записи или чтения, но дёргать туда–сюда читающую головку мне не запрещали, так что я писал программы, двигающие головку, пытаясь попасть в такт моим любимым мелодиям. У моторчиков, раскручивающих диск и двигающих головку по направляющей, были разные звуки, поэтому можно было запрограммировать движение головки так, чтобы звуки складывались в мелодию. Иногда у меня получалось, обычно – нет :)

Затем IBM подарила моей школе сеть компьютеров IBM PS/2, и, когда я перешёл в 8–й класс, я начал изучать Pascal на этих компьютерах. Обычно я был одним из лучших в классе. Я даже сделал заставку для своих программ: графическое вступление с вспыхивающими звёздами, пролетающими ракетами и развевающимися флагами (ну да, флаги гордо развевались в межзвёздном вакууме — но реализм не был тем, что волновало меня в то время). Надо было видеть лицо учителя, который, проверяя сданные задания всех учеников, натыкался на всё это сияющее и сверкающее великолепие, предваряющее простейшую сортировку методом пузырька или нахождение максимума из трёх чисел. Кроме школьных занятий, я участвовал во внеклассном кружке по изучению программирования на более высоком уровне. Там это всё началось… Я продолжил программировать после переезда в Израиль в 1994–м, и не останавливался с тех пор.

До 2001 года, я не думал о том, чтобы становиться профессионалом в программировании. Наоборот, я хотел стать физиком, и делал всё, чтобы реализовать эту мечту. Первые сомнения в правильности моего выбора возникли, когда до меня дошло, что ядерная физика, (область, в которой я был наиболее заинтересован), на 95% состоит из высшей математики, а мои отметки по предмету «Введение в программирование» оказались намного выше, чем по любому профильному предмету.

С 2002 года я работал на IBM в хайфской научно–исследовательской лаборатории, в отделе Systems & Storage. Я разрабатывал новые варианты функций зеркального копирования данных для дисковых серверов из высшего ценового сегмента ESS, DS6000 и DS8000. Кроме того, в мои обязанности входила поддержка существующего кода, разработка средств, в том числе автоматических, для устранения дефектов, и многое другое. К сожалению, мой путь разошёлся с путём IBM. Зато теперь я без помех могу продолжать учёбу на более высокую академическую степень.

Должен заметить: то, что привлекло меня к компьютерам, было компьютерными играми. Старые добрые игрушки вроде “Prehistorik”, “Nightmare on Elm Street”, “King's Bounty” (предшественник “Heroes of Might and Magic”), “Starcon”, “Wing Commander”, и, конечно, “Prince of Persia”, как и многие другие, были почти совершенны – но именно что почти. Поэтому у меня возникало дикое желание исправить их, привести их в соответствие с моими ожиданиями. Но когда я начинал работать над игрушкой, быстро выяснялось, что проще написать новую, чем дизассемблировать и «исправлять» существующую (помните, тогда я знал только BASIC и Pascal). Так что я начинал писать свою игрушку, доставая своих друзей требованиями протестировать её. Насколько я помню, единственная игрушка, которую я закончил и «выпустил» (распространил между своими приятелями), был FPS–симулятор космической леталки–стрелялки. Я считаю, что игры очень важны для развития программиста; они являются как минимум хорошей стартовой позицией для дальнейшего самосовершенствования.

ICO – Когда вы узнали про Haiku? У вас уже был опыт с BeOS или с Zeta?

Hitech – В 1999–м я работал в техподдержке крупнейшего израильского Интернет–провайдера, “NetVision”. Помните тех бедолаг, которых вы морально уничижаете, когда у вас вдруг пропадает Интернет? Я был одним из них. Я оттрубил в этом аду четыре года, с января 1999–го до августа 2002–го, тогда как средняя текучесть кадров в отделе составляла 8 месяцев. С тех пор меня периодически посещают мысли написать сценарий для околокомпьютерного фильма ужасов, по мотивам реальных историй, но, боюсь, его запретят к показу из–за чрезмерной жестокости :)

Так вот, однажды, холодным декабрьским вечером, во время долгой одинокой смены, я схватил за руку пробегавшего мимо меня коллегу. В руке у коллеги был диск. На диске была надпись BeOS R4.5.

За две недели до этого я купил новую видеокарточку, nVidia Riva TNT2 M64. Когда я перелопачивал сайт nVidia в поисках драйверов, помимо драйверов для Винды я нашёл и драйвер для BeOS. Ещё тогда мне запомнился логотип BeOS, весь такой синенький, беленький и красненький… Вот его–то я и вспомнил, стоило мне только увидеть надпись на сидюке. Разумеется, я тогда же взял этот диск и скопировал его (в то время «платить за программы» для меня было странной неприятной вещью, вроде тех, что случаются с плохими парнями в голливудских фильмах).

Я установил BeOS на свой домашний компьютер, и был поражён скоростью, быстротой отклика, качеством и работоспособностью этой операционной системы. Одной из первых сделанных мною вещей было подключение к университетской локальной сети (я тогда жил в общежитии, а там у каждого есть розетка локальной сети). Вся установка и настройка подключения заняла каких–то 20 секунд. Я помню, как, ошалев, сидел перед компьютером и повторял себе, что это не может быть настолько просто. В Windows 98 (это вторая операционка, стоявшая тогда на моём компьютере) настройка того же самого подключения заняла у меня шесть минут и три перезагрузки.

Синий цвет рабочего стола в BeOS был как раз моего любимого оттенка. В сочетании с жёлтыми заголовками окон он производил невероятное впечатление. BeOS мгновенно стала моим лучшим другом. Фактически, BeOS / Zeta была основной операционной системой на моём компьютере до прошлой осени, когда она перестала загружаться из–за изменений в железе.

Я редко отношусь к программам как к живым, одушевлённым существам, но это как раз один из таких случаев: я сразу начал думать о BeOS, как о девушке. Красивой, привлекательной, спортивной, атлетически сложенной девушке, которая обожает носить яркие наряды, иногда ведёт себя инфантильно, дурачится, иногда капризничает или ревнует (особенно если ты не уделяешь ей достаточно внимания, то есть на протяжении долгого времени не загружаешь её)… Но обычно она добрая, понимающая, готовая простить, помочь и поддержать тебя всеми своими силами. Похоже, я не один такой. Вот тут, к примеру, в обсуждении картинки кое–кто сразу откликнулся: «Гм… Гайка!» Видимо, он тоже ассоциирует Haiku с девушкой. Повторюсь: по–моему, BeOS и её наследницы – живые, точно так же, как корабли. (К слову, Windows у меня ассоциируется с тяжёлым, медленным, неповоротливым волом–тяжеловесом, и более ни с чем).

Моя обсессия к BeOS может быть подтверждена хотя бы тем фактом, что трёх своих котов я назвал Бес, Зет и Гайка – догадайтесь, в честь чего. (Примечание: на самом деле, Гайка получил своё имя, когда ещё считался девочкой. Когда выяснилось, что он всё–таки кот, а не кошка, пришлось назвать его сокращённым именем Гай. Но на Гайку он тоже отзывается). Даже моя жена — тоже фанатка BeOS.

С начала 2000 года я являюсь активным участником русскоязычного BeOS–сообщества, сейчас расположенного на http://www.qube.ru, и известен там под именем Alex Hitech. Я написал пару программ для BeOS, но, поскольку обычно я не выпускаю программу в свет, пока не буду уверен в её качестве, список моих программ на BeBits до обидного мал.

Кроме того, я написал короткую книгу «Страна BeOS. Руководство иммигранта», ранее известную под названием “The BeOS Bubble” (в честь книги Скотта Хакера «The BeOS Bible»). Моя книга использует примерно ту же разбивку на главы, и покрывает примерно главы с первой по пятую, то есть короткое описание BeOS, её преимущества и недостатки, установку, описывает почти все программы, поставляющиеся вместе с BeOS, и помогает настроить подключение к Интернету. Книга написана на русском языке, она была включена в набор документации BeOS / Zeta Expedition CD.

ICO – Как вы узнали о проекте GSoC, и когда вы впервые захотели участвовать?

Hitech – Раз уж я слежу за новостями, относящимися к BeOS, с 2000 года, я был в курсе предыдущих проектов GSoC с того момента, когда Хайку начала участвовать в этой программе. Я думал о том, чтобы записаться, но это потребовало бы специального разрешения от моего руководства, и получить это разрешение было бы непросто. К слову, разработка бесплатной программы с закрытым исходным кодом не требует особых разрешений, только уведомления; единственное условие – чтобы программа не конкурировала напрямую с продукцией фирмы, в которой ты работаешь.

Дело вот в чём: если кто–то работает над проектами с открытым исходным кодом в своё свободное время, он может случайно придумать или увидеть решение, которое потом использует в работе над своим основным проектом (с закрытым исходным кодом). К примеру, допустим, я сидел дома над каким–нибудь открытым проектом, и увидел красивое решение какой–то проблемы в виде куска кода с лицензией GPL. Решение мне понравилось, и я использовал его потом – пусть даже ненамеренно! – в коде IBM`овского сервера. IBM в таком случае пришлось бы выпустить весь код дорогущего сервера под лицензией GPL в свободный доступ, потому что GPL обладает свойством «липкости», или «инфицирования»: всё, содержащее код с лицензией GPL, само становится GPL`ным. Из–за таких ошибок компании поменьше могут и обанкротиться. Поэтому все фирмы, зарабатывающие разработкой программ с закрытым исходным кодом, принимают меры, чтобы не допустить контакт своих работников с открытым исходным кодом, пока его не обнюхают юристы. Это доходит до абсурда: в одной и той же фирме работники, разрабатывающие продукт с открытым исходным кодом, (скажем, gcc), сидят в отдельном здании и не имеют права даже разговаривать с работниками той же фирмы, которые разрабатывают конкурирующий продукт с закрытым исходным кодом (в данном примере – xlC).

Из этого следует, что если кому–то захочется работать над проектом с открытым исходным кодом, такой человек обязан будет сообщить об этом своему начальству, начальник проверит описание проекта с юристом, тот, возможно, обратится к консультанту… В целом проблема может добраться до самых высоких уровней менеджмента, вплоть до вице–президентов. С лицензиями не шутят.

Возвращаясь к моему участию в GSoC, я получил разрешение разрабатывать программы для BeOS (при условии, что я не буду разрабатывать дисковый сервер, сопоставимый с DS8000). Но попытка участвовать в GSoC потребовала бы намного более серьёзного процесса для получения разрешения, так что я даже и не пытался подавать соответствующий запрос.

Однако в этом году я знал о том, что буду увольняться, поэтому я решил попробовать и записался на GSoC. Я подал три заявки, все — на проекты Haiku.

ICO – Почему вы решили, что стоит работать именно над Haiku?

Hitech – Как понятно из вышесказанного, я – большой фанат BeOS и её наследниц. Над Haiku стоит работать в любом случае :)

Если серьёзно, то, по–моему, у сильных сторон BeOS, умноженных на силу открытой лицензии, ошеломляющая мощь. Я, конечно, не предполагаю, что весь мир вдруг разом прекратит использовать Windows и установит вместо него Haiku, (хоть картинка и заманчивая), но Haiku элегантная, быстрая и хорошо продуманная операционная система. И к тому же она проста для пользователя и программиста.

Вот два примера в поддержку последнего утверждения:

Во–первых, моя мама – очень особенный пользователь. Если в Википедии когда–нибудь появится статья «primitive computer user» (как противоположность «advanced computer user»), фотография моей мамы будет размещена в ней в качестве иллюстрации. Она до сих пор использует компьютер 486–м процессором и Windows 3.11, потому что это чудо отвечает её требованиям, — то есть, умеет загружать пасьянс «Косынку». Тем не менее, когда она навещала меня и была вынуждена сидеть за моим компьютером, она сумела работать с BeOS без особенных затруднений. У неё получалось запускать нужные программы, выходить в Интернет, искать интересующие её статьи, запускать фильмы, музыку и игры, и всё это не представляло для неё проблемы в BeOS. К тому же, BeOS не был локализован, а моя мама не знает английский, но это ей не мешало. По мне, это прекрасный пример интуитивно понятного пользовательского интерфейса: даже человек с практически отсутствующим опытом работы с компьютерами сумел справиться с интерфейсом BeOS и выполнять свои ежедневные задачи в этой операционной системе. Интерфейс BeOS – это очень сильная её сторона, и поскольку Haiku пытается воссоздать этот же интерфейс, это и её сильная сторона тоже.

Во–вторых, я программист. Я программировал на уровне операционной системы в нескольких ОС, включая AIX, QNX и OS/2 (мне повезло работать в одном отделе с людьми, которые разрабатывали OS/2). И я утверждаю, что не встречал операционную систему, в которой разработка программ была бы проще. API у BeOS простой, логичный и отвечающий здравому смыслу – в отличие от, скажем, Win32 API.

Простота в разработке и простота в использовании – вот преимущества Haiku, которые, по моему мнению, обеспечат ей большое будущее.

ICO – Над каким проектом вы хотели бы работать, и почему этот проект вас заинтересовал?

Hitech – Как я уже сказал выше, я подал заявки на три проекта. Ниже я опишу каждый из них:

1) Драйвер для Web–камер.

Чем больше людей будут использовать Haiku, тем чаще некоторые из них будут требовать от этой вроде-как–мультимедийной системы чисто мультимедийных способностей. Возможность использовать веб–камеру — это фундаментальная задача в современном мультимедийном окружении, и чем больше людей будут общаться в видеочатах, тем ниже будет популярность Haiku, если они смогут использовать свои камеры в Windows или в Linux, но не в Haiku. Кроме того, я считаю, что это будет кульно – устроить живую трансляцию вечеринки Haiku User Group через Интернет в реальном времени. :)

2) Улучшение WebKit и создание нативного браузера для Haiku, основанного на WebKit

Haiku только выиграет от того, что её будут чаще использовать. Большинство пользователей включают компьютеры для того, чтобы поиграть в игры, редактировать документы, получить мультимедиа–информацию (чтение электронных книг в данном случае тоже является получением мультимедиа–информации) и бродить по Сети. Таким образом, создание полноценного и быстрого веб–браузера решит четверть проблем, возникающих у новичков в Haiku. Или даже половину, если для стоящих перед ними целей редактирования документов хватит возможностей Google Documents.

3) Создание программы, выполняющей функции календаря / органайзера

Это моя любимая идея. Я начал работать над этой программой задолго до того, как подал заявку. На самом деле, причина была в том, что мне нужен был способ хранить моё учебное расписание в удобной для меня форме.

Простейшим решением было бы создание таблицы в редакторе таблиц вроде MS Excel (Б–же упаси!) или GoBe Productive, и внесение расписания в эту таблицу. Затем эта таблица переносится на бумажный носитель информации, автоматическими методами (это значит «распечатать») или вручную, с использованием конвенциональной ручки. Полученная энергонезависимая копия таскается в рюкзаке постоянно. Однако я отверг этот способ как слишком устаревший в наш продвинутый век колесования, и он не сможет адаптироваться к изменениям в расписании, которые иногда всё–таки случаются.

Более продвинутой опцией было бы использование какого–нибудь планировщика времени вроде MS Outlook (мелкомягкие везде!), Palm Desktop или BePlan, и вбить туда расписание на целый семестр, используя опцию периодического повторения внесённых событий. В таком случае каждое отдельное событие может быть изменено, если потребуется. Более того, расписание в таком виде может быть синхронизировано с наладонниками или с сотовыми телефонами, что делает его портативным и гибким. Но в таком случае, почему бы не добавить ещё немного функциональности этой программе? Пусть она, к примеру, сообщит мне за день до экзамена, что пора начинать к нему готовиться; пусть она сумеет присылать электронную почту; выполнить команду (или целый скрипт); включить плеер в качестве будильника, и т. д.. Ни одна из ныне существующих программ для BeOS всего этого не умеет, хотя AutoPilot и BeThere довольно близки к тому, что я имею в виду. Но, увы, они не умеют помещать свой календарь на рабочий стол, что, с моей точки зрения, является недостатком: уж если в операционной системе есть поддержка для репликантов, то использовать её надо по полной.

Поэтому я сделал набросок дизайна программы и уже начал её писать. Дополнительные детали можно найти на странице заявки.

ICO – Ну и как прошёл процесс подачи заявки? Было ли что–то чрезмерно сложным или расхолаживающим?

Hitech – Должен признать, что требование решить один из тех багов, что полегче, было не слишком воодушевляющим, но я понимаю причину для такого требования. Как бы то ни было, судя по всему, это требование станет теперь постоянной частью отбора претендентов, так что мне стоит привыкнуть к нему :)

ICO – А кроме Haiku, вы подавали заявки в другие проекты GSoC? Если да, не могли бы вы открыть нам, в какие именно?

Hitech – Нет, я не подавал другие заявки. Я думал о том, чтобы подать заявку в проект ReactOS, но они не участвовали в GSoC в этом году.

ICO – Будете ли вы заинтересованы в участии в Haiku Code Drive? (Вопрос был задан до того, как было анонсировано проведение Haiku Code Drive 2009, и тем более до того, как были названы его участники).

Hitech – Да, разумеется. Я бы предпочёл закончить календарь / органайзер, потому что эта программа будет наиболее полезна лично для меня, но любые другие предложения тоже будут рассмотрены.

Мы в ICO хотели бы поблагодарить Алекса за то, что он уделил нам время и ответил на наши вопросы, и сделал это в таком увлекательном виде. Надеюсь, вам понравилось читать это интервью.
--------–конец перевода--------–

Отличная

Отличная статья, спасибо. Ждем ваш органайзер. :)

Я даже сяду

Я даже сяду за него не раньше середины августа. А уж когда встану… Страшно подумать. :)

Интересно. А мы

Интересно. А мы в школе изучали комьтер (информатику) по книжке и картинкам, помню учитель всё обещал нам показать настоящий ЭВМ… во были времена, моя мать, бухгалтер, вычисляла на таком механическом калькуляторе с ручкой (забыл как называется такая штука) и счетами (наверное самый первый „компьютер“ сделаный человеком). Ну а потом пошли бурные девяностые…

Ха! Счёты забыл.

Ха! Счёты забыл. И линейку логарифмическую. А арифмометр этот небось Феликс назывался.

Toчно, «Феликс»,

Toчно, «Феликс», это «поновее», какой–то ещё был, только цвет запомнил (коричневый), и ещё какой–то был, черный и совсем старый, вроде… совсем не грамотный тогда был ещё :)

А мы в школе

А мы в школе сначала на Лого писали, потом на Васике и потом на Паскале. Даже грамоты остались со школьных олимпиад за первые и вторые места :)

Ты оказывается

Ты оказывается иркутянин. Удивтиельные вещи порой узнаёшь :))

Я

Я потомственный сибиряк! :) Моих предков при Петре I–м сослали из восточной Польши в Сибирь за какие–то шалости, сейчас уже неизвестно, за какие. В Сибири мои предки и остались, начали торговать с охотниками вверх по течению Ангары и Енисея, и перед революцией достигли довольно высокого уровня в купеческой среде. Дом, который по праву должен был бы принадлежать мне, до сих пор стоит на центральной улице Иркутска.

Хе–хе,

Хе–хе, на Ленина или на Карла–Маркса?? Что удивительно, моих предков, по материнской линии, тоже сослали в Иркутск и тоже из Польши.

На Карла Маркса.

На Карла Маркса.

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Allowed HTML tags: <a> <em> <i> <img> <strong> <b> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Подробнее о форматировании

CAPTCHA
Введите перечисленные символы, чтобы мы убедились, что вы не робот. Не требуется для зарегистрированных пользователей.
T
W
5
S
w
S
Enter the code without spaces and pay attention to upper/lower case.