День программиста: как он стал моим праздником



    Меня зовут Владимир. И так получилось, что я стал основателем сервиса Ivideon. За короткий срок он приобрел такую популярность, которую я не ожидал и сам, разрабатывая по ночам сервер обработки запросов на epoll, несколько лет назад. Как и многие программисты по началу я совсем не думал об успехе или признании проекта. Для меня интересной была сама задача, решение которой занимало большую часть моего времени, моей жизни. По началу я даже не верил, что у меня что-то получится и рассматривал свой проект просто как хороший опыт. А теперь география пользователей Ivideon это весь земной шар. Открываешь камеру и попадаешь в другую страну, в другой мир где-то далеко, далеко. Или не так далеко, но все-таки в данный момент не доступно.

    Почему я говорю “так уж получилось”? Наверное, потому, что я всегда хотел быть программистом. Создавать отличные приложения и не думать о финансовых моделях, денежных потоках и управлении портфелем проектов компании. Но если хочешь, чтобы твоя идея воплотилась в жизнь, иногда нужно браться за её реализацию самому от начала и до конца. Но все же, я считаю, что остался программистом и сегодняшний праздник День программиста — это мой праздник.

    Пару месяцев назад в Ivideon обратилось одно издание, с просьбой рассказать о нашем проекте и направило ряд вопросов. Одним из них был вопрос ко мне как к основателю: “Как я стал программистом?”
    Кажется, был вечер субботы… Я сел и попытался соединить все точки на моем жизненном пути, которые и привели меня к сегодняшнему дню. Так вечер плавно перешел в раннее утро воскресенья, а ответ на вопрос занял больше 10 страниц. Потом я лег спать, а на утро решил не отправлять то, что написал… Мне показалось, что мало кому будут интересны мои воспоминания и ответил что-то стандартное о пристрастии к компьютерам с детства. А сегодня, в день программиста, я наткнулся на те самые 10 страниц в Google документах…

    97-й год. О чем думал Пушкин, когда писал “Евгения Онегина”


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



    Для меня 97-й год запомнился прежде всего обилием школьниц, которые если не носили футболку с Леонардо ди Каприо или рюкзак, то уж наверняка у них был дневник с его изображением. Это был год триумфального выхода фильма “Титаник” Джеймса Кэмерона. Первый фильм, кассовые сборы которого превысили отметку в один миллиард долларов. Но в 97-м году я не смотрел его. Мне никогда не нравилось то, что нравилось толпе. Хотя позже я признал, что фильм действительно стоящий. А тогда я просто считал самым гениальным фильмом “Людей в Черном”, которые вышли в том же году. Мне было 13 и я заканчивал 8-й класс

    Именно в 97-м году, я получил ту самую двойку за сочинение. Двойку, которая в длинной череде событий стала отправной точкой для моей истории.



    Все дело в том, что в школу я пошел в 6 лет. Четвертый класс, как водится, “перепрыгнул”. И в итоге почти все мои одноклассники были старше меня. Я был очень “не серьезным” учеником за что меня учителя не жаловали и это очень часто отражалось на моих оценках. И та двойка за сочинение стала одной их многих плохих оценок, которые я получил “за поведение”. На этот раз я неправильно изложил в сочинении о чем думал Пушкин, когда писал “Евгения Онегина”. Мне было очень обидно от своего бессилия. Потому что я не мог что-либо доказать. Откуда вообще преподаватель литературы знает о чем думал Пушкин? Как вообще можно писать сочинения на такую тему?! Как вообще можно оценивать такие сочинения? В тот день я задумался о своем будущем. Я не знал, в какой я пойду институт или университет. Но, я точно знал, что он не будет гуманитарным. Потому что я не понимал, как может называться наукой область знаний, где отсутствует хотя бы приблизительная формализация.

    Спустя год в 10м классе у нас ввели обязательный “переходной” экзамен по литературе. Мне обещали быструю двойку. Но, мне повезло. В день экзамена в школу приехали проверяющие из РАНО. И я пошел сдавать им. Кажется, я был единственным, кто получил в этот день 5.

    99-й. Теорема Ферма





    К 10-му классу я еще больше уверился в мысли, что хочу получить техническое образование. Меня тянуло к любой технике, я обожал фантастику. Помню как частенько я ездил на ВДНХ и смотрел в центральном павильоне демонстрации различных физических явлений. Кажется, сейчас там только магазины. А жаль.

    Мы жили в Зеленограде — городе электроники, где в самом центре стоял институт электронной техники (МИЭТ). И в начале 11-го класса я пошел в него на подготовительные курсы. Со мной приехали родители и заплатили за них. Пожалуй, это был единственный раз, когда они были со мной в институте.

    Фактически здесь для меня началась другая жизнь. Я по новому взглянул на то, что мне до этого преподавали почти 5 лет. Если большинство слушателей приходили по вечерам после школы на курсы “отдыхать” (спать, запускать самолеты, есть), то для меня все было совершенно по другому. Весь 11-й класс я отдыхал в школе. Все-таки из 40 человек 32 девушки это было круто! А вот на курсах я по настоящему учился. Мне действительно было интересно. И я испытывал огромное удовольствие, от того, что у меня все получалось.

    Когда я уже отучился несколько месяцев, я узнал, что в МИЭТе есть что-то вроде олимпиады (уже и не помню как она называлась). Когда желающие поступить представляют тематические доклады. Авторы наиболее интересных докладов, отмеченных жюри, могли быть зачислены без экзаменов.

    Конечно же, я решил попробовать! Нашел интересную на мой взгляд тему “Великая теорема Ферма”. Мне понравилась легенда, что Ферма, читая книгу, записал на полях теорему и добавил: “я нашел поистине чудесное доказательство для неё. Но, поля книги слишком узки, чтобы я мог его здесь записать”. И 300 лет математики тщетно пытались её доказать. Вот это я понимаю троллинг!

    В день выступления я приехал раньше назначенного срока. Нашел аудиторию и сел. Мне показалось странным, что большая часть выступающих приехали с родителями. Они помогали им развешивать плакаты и репетировать речь. А когда пришло время начинать, эти самые родители сели в жюри! Вот такого я уж точно не ожидал.

    Стоит ли говорить, что я ничего не выиграл. Конечно, объективно, мой доклад был ни разу не на высоте. Но, родители в жюри, это уж как-то слишком. Для меня это событие послужило отличным пинком, который придал мне скорости на несколько лет вперед. Я осознал, что у меня нет родителей, которые могли бы помочь мне поступить, оплатить обучение или просто помогать учиться (у них гуманитарное образование). И, что, все зависит только от меня.

    2000-й. На волне судьбы





    Интересно, как, спустя еще лет 50 или 100 будут относиться к 2000 году? Это даже не новый век. Это новое тысячелетие! Только во время перехода из 1999 года в 2000-й на самом деле не произошло ровным счетом ничего. Люди не стали лучше или хуже. Жизнь просто шла своим чередом, не обращая внимания на цифры.

    Весной 2000 года, мой друг, с которым мы ходили на подготовительные курсы, пригласил меня поехать потренироваться сдавать экзамены. Его отец узнал, что в ведущих ВУЗах России вступительные экзамены проходят чуть раньше. Чтобы те, кто не смог пройти по конкурсу, смогли попробовать свои силы в институте попроще. И я согласился. Тем более это было бесплатно. Мы ехали в МГТУ имени Баумана. Старейшее высшее учебное заведение страны. Сначала оно не произвело на меня впечатление. Здание требовало ремонта, аудитории и мебель — тоже. Я сравнивал с МИЭТом, который был на тот момент в лучшем состоянии. Но, сев в аудитории, на одном из экзаменов, прикоснувшись к дереву парты, оглядевшись по сторонам, я ощутил историческое значение этого места. Как-будто 170 лет назад, когда университет был основан, все выглядело точно также. Разве что краска была свежее и отсутствовала выцарапанная на столешнице “кнопка вывода лектора на орбиту”.

    В общем, без особых усилий и подготовки я сдал все экзамены, получил положительные балы и забыл об этом…

    Пришло лето, а вместе с ним время экзаменов в МИЭТ. Почему-то мне больше всего запомнился русский язык. Требовалось написать изложение после двукратного прочтения текста преподавателем. Экзамен проходил в огромной лекционной аудитории, в которой ряды располагались как в кинотеатре, уходя наверх. Не помню, кто все это придумал, возможно я, но мы сели вчетвером. Двое впереди и двое сзади. А когда преподаватель прочитал первый раз текст, он у нас был уже полностью записан. Так я впервые применил алгоритм Round Robin. Вместо того, чтобы каждый из нас был сам за себя, мы договорились, что первое предложение пишу я, второе — мой друг и так далее. По кругу. Мы обманули систему.

    А тем временем, судьба решила совсем иначе. Мои родители запланировали переезд в Москву. Ездить оттуда в МИЭТ не имело смысла. Кажется, был июль или август и я поехал подавать документы в МГТУ имени Баумана. Хотя, по правде говоря, в тот день я поехал со своим другом на Митинский радио рынок. В то время о нем ходили легенды. Что, якобы, на нем можно было купить все что угодно. От мобильного телефона (тогда они были еще в диковинку), до запасной части к американскому космическому спутнику. И это было действительно так. А если и нет, то где же еще покупать запчасти к спутнику, если не там?

    Мне хотелось успеть до закрытия рынка. По пути нужно было подать документы, а я понятия не имел, что будут большие очереди. Необходимо было выбрать желаемый факультет и подать документы для зачисления на него. Ну, что же, чтобы не задерживать ни себя, ни моего друга, я выбрал самую маленькую очередь. В конце концов, это МГТУ имени Баумана! Один из лучших ВУЗов страны! Там не должно быть “плохих” факультетов!

    Вот так, случайно сданные “для тренировки” экзамены обернулись моим фактическим поступлением. А поданные между делом документы обернулись моим зачислением на теперь уже родную для меня кафедру Робототехники. Казалось бы, отсутствие очереди говорило о не популярности факультета. В то лето, почему-то, так оно и было. Зато на следующий год, факультет Робототехники занял второе место по популярности среди абитуриентов.

    Иногда, если не задумываться, а просто действовать, поймав нужную волну, все происходит как-то само собой. Словно, твои цели, как рыбы в море. Ты пытаешься их поймать руками, схватить хотя бы за хвост, а они становятся только дальше. Но, стоит замереть, как они сами к тебе подплывают.

    2000-й. Осень. Долгожданная учеба





    До начала обучения в университете оставался месяц. Пожалуй, это был самый длинный месяц в моей жизни. С каким нетерпением я ждал начала учебы! Я вполне серьезно себе представлял, как максимум к третьему курсу я смогу сам собрать терминатора! Чему же еще могли учить на кафедре робототехники?
    Наступил сентябрь и день посвящения в студенты. Он был ясным и солнечным, давая ложную надежду, что лето будет продолжаться и настоящая осень с дождями и серостью на этот раз забудет прийти. Было много будущих студентов, а, возможно, и настоящих. Выступало много преподавателей и известных выпускников МГТУ. Ну, это они так думали, что были известными, а я понятия не имел, кто это. Лучше бы они пригласили Антона Камолова с MTV, который также закончил Бауманку.
    Все что я запомнил, так это то, что для меня стало открытием в тот день, что обучение длится 6 лет и первые 2 года — 6 дней в неделю. Черт! да мне же было 16! Жизнь только начиналась, а тут такое! Когда же отдыхать то?!

    2000-й. Зима. Первый компьютер



    Первые два года в Бауманке были очень жесткими. Надежда создать собственного терминатора рухнула под тяжестью общеинженерных предметов, которые в большом объеме присутствовали в программе обучения. Чего только стоит черчение на ватманах А1 с линейкой и карандашами?! Преподаватели нас успокаивали. Мол, в их время, еще и обводили тушью. Ну, и, конечно, ходили в библиотеку зимой, в валенках 3 километра в гору. Мне от этого было не легче.

    Переезд в Москву затягивался и я ездил из Зеленограда. Первая пара начиналась в 8.30. И весь год я просыпался в 5.30 утра и шел на электричку. Во время таких поездок я заметил интересный парадокс. Почему-то утром, в сторону Москвы едут вполне приличные люди. На работу или учебу. Но, вот вечерняя электричка уже наполнена людьми, которые, как-будто, вместо работы ездили не то что бы по барам. Скорее сидели с водкой где-нибудь во дворе и закусывали чем-то не съедобным.

    После первого курса от изначального состава группы осталась ровно половина. То что я был в их числе, далось мне очень не легко. Нужно было что-то менять. И мне это удалось.



    На 17-летие мне подарили компьютер. Это было окончание первого семестра, первого курса. Если сказать, что это было даже лучше чем первый секс, то это значит, ничего не сказать. Intel Pentium 3, 600 MHz, 32 Mb оперативной памяти! 15 дюймовый монитор Sony! И теперь уже культорвый модем US Robotics courier 56K! Гагарин, вернувшийся после первого полета в космос, наверное, радовался меньше чем я!
    Я ездил на Митинский и Савеловские рынки. Я нашел все те игрушки, в которые играл на чужих компьютерах. Начиная от классического Doom и заканчивая новыми Half-Life и GTA. Я мог просто часами сидеть и водить мышкой, наблюдая как она синхронно перемещается по рабочему столу!

    Страсть к игрушкам довольно быстро прошла. На её смену пришел не поддельный интерес к тому, а как же все это работает? Как делать игрушки?
    На первом курсе нам преподавали язык “C”. Мы собирали простенькие текстовые MS DOS программки компилятором Borland 3.1. Надо ли говорить, что они совсем не были похожи на Half-Life.

    Интернет тогда был еще совсем dial up и не дешевым, торренты еще не изобрели. Большая часть компьютерных программ покупалась на развалах компьютерных рынков. 1000 самых нужных программ, 100 приложений для всего, Анталогия Windows.



    Я стал скупать все диски по программированию, которые находил. Смотрел, читал, изучал примеры. Радовался, когда мне удавалось понять в коде, что нужно поменять, чтобы программа стала вести себя иначе. И уже к концу первого курса, вместо того, чтобы на лабораторной работе сдать программу, рисующую на экране круг, я показал WYSWYG графический редактор, написанный под DOS с интерфейсом как у Windows. Там были окна и кнопки. Можно было нарисовать любой примитив, выбрав толщину линий и цвет при помощи мышки. Все кнопки и окна рисовались вручную с учетом всех перекрытий собственно написанной графической библиотекой.
    Но, мне этого было мало. Дальше я стал изучать ассемблер и реверс инженеринг. И уже через несколько недель я обошел запрос серийного номера для приложения господина Шахиджаняна Соло на клавиатуре (надеюсь, что Хабр он не читает). Простой комбинацией JMP и NOP, вместе с пониманием адресации это удалось сделать на раз-два.
    Я понял, что защитить на 100% ни одно приложение нельзя никакими серийными номерами. Это лишь вопрос времени. Поэтому защита должна быть такой, чтобы времени на её взлом требовалось столько же, сколько на написание аналогичной по функционалу программы.

    Читая все это, может сложиться ложное впечатление, обо мне, как о “ботанике” безвылазно сидящем за компьютером. Это было далеко не так. Друзья, девушки, скейтборд, электрогитара, концерты… Насколько полно я мог отдаваться учебе и компьютерам, настолько же хорошо я умел отдыхать. Как говорил товарищ Маркс: “Лучший отдых это смена деятельности”. Моя деятельность менялась кардинально.

    2001-й. Теория голубого океана





    Наверняка, все из вас слышали про теорию голубого океана. Когда вместо того, чтобы жестко конкурировать на существующих рынках (красных океанах) компании создают новые. Где еще нет конкурентов и они могут добиться наибольшего успеха. Вместо того, чтобы создавать собственный поисковик и конкурировать с Google, Facebook создали собственный Интернет, страшно испугав этим Google. Apple не смогла обойти Microsoft на рынке персональных компьютеров. И Джобс создал новый рынок iPhone’ов и iPad’ов, где не нужно конкурировать с Microsoft. Теперь Microsoft пробует догнать Apple.

    Во время учебы я не знал этой теории. Но интуитивно я всегда стремился к созданию именно голубых океанов. Хотя и меньшего масштаба, чем приведенные выше примеры. Теория Машин и Механизмов? Требуется рассчитывать и чертить? Я договорился с профессором написать программу, которая автоматически все бы рассчитывала и визуализировала. Моя библиотека пополнилась книжкой по OpenGL и я получил 5, не начертив ни одной линии на ватмане.
    Детали машин? Опять чертить? Я изучил Solid Works и создал полностью трехмерную модель, рассчитанного редуктора. Получил по этой модели все необходимые сечения и проекции. Мне говорили, что моя работа до сих пор висит в зале кафедры Деталей машин.

    Я совмещал приятное с полезным. Сдавал работы, защищал курсовые и учился программировать. Это и был мой голубой океан. Я делал работу, которую не делал до меня никто. И получал за это только отличные оценки. Так как конкурировать мне было не с кем.

    2002-й. Наука об устройстве Мира





    На втором курсе нам читал лекции по физике удивительный человек. Звали его Леонид Карлович Мартинсон. Глядя на его полное имя, можно было сразу понять, что дядечка он не простой. А посетив его лекцию, можно было убедиться в этом еще больше.

    Он любил физику и любил о ней рассказывать. Каждая его лекция была сродни театральному представлению. И даже те, кто к физике относился нейтрально, с удовольствием его слушали. Не уверен, что если бы вместо iPhone Джобс бы презентовал распределение электронов по орбите атомов, он смог бы сделать это красноречивей и интересней.

    В каждой лекции Леонида Карловича было что-то, что можно найти в учебниках истории. И самое главное — он был её частью. Чего только стоит рассказ о встрече с Нильсом Бором, который приезжал в Москву.

    В отличии от многих преподавателей на младших курсах, Леонид Карлович не просто рассказывал о своем предмете. Он рассказывал как и где его можно применить…



    Хотя на самом деле он очень просто объяснял разницу между теоретической и инженерной наукой. Если теоретики занимаются исследованиями, то инженеры должны уметь использовать на практике полученные результаты. С этими словами он, обычно, приводил несколько красочных примеров, как то или иное физическое явление становилось основой новых электронных компонент, присутствующих во всех электронных устройствах. Особенно впечатляло, как в этих примерах одно незначительное изменение в уже существующих элементах, приводило к порождению совершенно новых свойств.

    Мне очень понравилась эта мысль. Смотреть вокруг и превращать известные явления или продукты в совершенно новые направления.

    2002 — 2003-й. Как студенту заработать





    Многие в то время были вынуждены работать. Прожить на стипендию, впрочем, как и сейчас, было не реально. В поисках способов заработать я стал фрилансером. Не знаю, по моему, тогда такого понятия не было. Но, ту работу, которую я выполнял можно было назвать только так. Заказы подбрасывали друзья и знакомые. Еще чаще, повторно обращались довольные клиенты или рекомендовали меня. Денег было немного, но с каждым новым заказом я учился чему-то новому. На мой взгляд, это лучшая школа, которую может пройти программист — настоящие проекты. Общение с клиентами всегда было живым. Встречи, обсуждения, работа, деньги. Бизнесмены, депутаты, бандиты… Очень колоритные личности.



    Помню, однажды, мне домой позвонил новый клиент. Был вечер и он сказал, что хочет встретиться срочно. А так как он проезжает недалеко от меня, то может подъехать прямо к дому. Я вышел к подъезду. Там стояла местная молодежь, в простонародье гопники, и занимали свое время сигаретами, пивом и моей соседкой напротив. Все явно старше меня. Это было уже в Москве, куда мы переехали недавно, и я никого не знал. Они тоже меня не знали и стали спрашивать сигареты. Я не курил. Прозвучала многим знакомая фраза: “А если найду?” И тут, во двор заезжает целый кортеж из мерседесов. Два Brabus’а с мигалками и одна S’ка посередине. Открылась дверь, а внутри оказался мой заказчик. Он назвал меня по имени и отчеству. Предложил сесть в машину, что я сразу же и сделал. Мы поехали в ближайшее кафе, где обсудили техническое задание.

    На следующий день, когда я выходил из подъезда, те самые местные ребята, вместо того, чтобы снова попросить сигарет узнали меня и сказали “Здравствуйте”. Так продолжалось следующие несколько лет.

    2003-й. Вирусы, берегитесь! Мы идем!





    Пришел 2003-й год и вместе с ним наступила оттепель в учебном процессе. Мне захотелось чего-то более постоянного, чем не постоянный фриланс и такой же доход. Свободного времени было больше и я мог себе это позволить. У меня, почему-то, сложилось впечатление что этот год стал стартом для настоящего расцвета Интернета в России и околокомпьютерного бизнеса. Как-будто все разом поняли, что Интернет это круто и компьютеры тоже.
    Также думал и господин Алексей Ивтеев (фамилия и имя изменены). Вместе со своим другом и однокурсником мы шли к нему на собеседование в красивое административное здание Министерства Путей Сообщения. Мы были искренне уверены, что нас приглашают работать именно в МПС. На самом деле все оказалось куда проще: Алексей, большой начальник небольшого отдела какого-то там подразделения МПС, решил построить собственную околокомпьютерную империю, которая заработает миллионы долларов. А так как нужно с чего-то начинать, он решил нанять парочку студентов, то есть нас. Планов у него была масса. Пожалуй, самый интересный, это использование своих связей для того, чтобы продавать диал ап доступ в Интернет в подмосковных городах, которые стоят вдоль железнодорожных линий. Если вы не знаете, то вдоль большинства российских железных дорог лежит отличное оптоволокно, которое используется и по сей день. Продажа доступа диалап позволила бы зарабатывать тысячи процентов от себестоимости. Вот только диалап уже потихоньку становился не популярным. Да и, забегая вперед скажу, что дело дальше разговоров не двинулось.
    Зато, был найден отличный бизнес-кейс. Выездная служба поддержки. Алексей находил объекты, а мы как инженеры его отдела помогали ему их обслуживать. Симпатичные бухгалтерши звали нас каждый раз, как забывали включить сетевой фильтр, в результате чего, компьютер не загружался, а принтер отказывался печатать. Ради общения с ними я даже купил свой первый мобильный телефон Siemens C55. Была потрачена моя зарплата за полтора месяца.

    Мы вели борьбу с сетевыми вирусами, которые совершенно неожиданно открывали непотребные картинки на мониторах больших руководителей. Конечно, они нас искренне уверяли, что ни на какие такие сайты они не заходили и понятия не имели, откуда такое вылезло на рабочий стол. Мы делали вид, что им верили и продолжали дальше свое нелегкое дело.
    Чем мы только ни занимались. От написания программ и поднятия серверов, до прокладки по зданию витой пары, чтобы обеспечить его Интернетом и IP телефонией. Нам обещали, что вот вот, наша работа станет “чище” и мы сможем заниматься настоящим делом, а не быть простыми эникейщиками. Этого не происходило.

    — Чего же вы сразу не ушли? — спросите вы. И я вам скажу. Причина была в Ней… В такие моменты начинаешь понимать, насколько же русский язык ограничен… до чего же слова неуклюжи… Сложно подобрать их, чтобы описать мои чувства и, безусловно чувства моего друга… Она… Столовая при МПС! Представьте себе приличный ресторан и самую дешевую студенческую столовую… В столовой МПС блюда были отменными как в ресторане, а цены ниже, чем в нашей студенческой столовой. Ради того, чтобы там пообедать, можно было специально заранее поломать кому-нибудь принтер, чтобы нас только вызвали.

    Организации, которые мы обслуживали были большими и государственными. Поэтому контингент там работал соответствующий. Как-то раз нас вызвал большой босс одной из таких организаций и сказал, что мы теперь будем работать под началом Сергея Ивановича — милого седовласого дедушки. Уже потом выяснилось, что всю свою жизнь он проработал в этой организации. И чертовски не хотел уходить на пенсию. Его пожалели и назначили вот на такую номинальную должность. Пока нас нет, он должен был всем заправлять. Но, если не справлялся, то мог всегда нас вызвать.
    Сначала мы подумали, что выездов у нас станет меньше. Как бы не так! Мы стали ездить в два раза чаще. И всякий раз это была полнейшая ерунда, из-за которой нас не стоило беспокоить. То мышка как-то не так двигается, то монитор что-то не так излучает. Куллер звучит подозрительно. Всего и не упомнишь. А потом, вдруг, все. Нас не приглашали пару недель. Мы заподозрили неладное и приехали сами.

    Сергей Иванович сидел возле компьютера в кабинете руководства. Его окружала большая кипа бумаг А4 и он усиленно что-то обдумывал. По крайней мере это было написано на его лице. Заметил он нас не сразу. А мы с любопытством наблюдали, что же будет дальше.
    Он нас увидел и тут же быстро собрал в приличную стопку все листки А4, взял карандаш и живо жестикулируя подошел к нам.
    — Понимаете, ребята. Я тут прочитал, что компьютеры надо чистить. Не в смысле тряпкой. А файлы всякие ненужные удалять. Тогда они лучше работают.
    Мы единодушно кивнули. А он продолжил:
    — И когда я чистил компьютер, я выявил крайне не стабильное поведение файлов. Это вирусное заражение и надо все хорошенько пролечить. Смотрите!
    С этими словами он стал показывать нам свои бумаги и мы с удивлением обнаружили на них аккуратно нарисованные деревья файловой системы Windows с красивыми папочками и файлами.
    Дело в том, что перед удалением каждого файла, Сергей Иванович рисовал это самое дерево “до” и “после”. С файлом и без. А когда до завершения “чистки” оставалось совсем чуть-чуть он обнаружил “вирусное заражение”. Удаляешь файл, а на его месте появляются два других таких же. Стопка нарисованных папок и файлов все росла, а файлы все появлялись. Причем, все это было в одной папке, под названием TEMP…

    Мы проработали вместе с Алексеем из МПС около 3-х месяцев, а потом уволились. В наш последний рабочий день, большой начальник обслуживаемой организации, позвал нас к себе и налил водки… Шучу. Водки не было. В общем, на самом деле он обрадовался, что мы уходим, так как хотел нам сам предложить другую работу.
    — Понимете, я тут пользуюсь Интернетом и мне надо постоянно много чего искать. А этот Яндекс, который должен хорошо искать, ищет плохо… Я дам вам 500$. Сделайте мне мой собственный Яндекс, но только лучше… И, знаете, в то время я был готов взяться за этот проект, если бы не сессия Раз поиск в Яндексе уже есть, то значит его можно сделать и можно улучшить. Это отличная задача, от которой загораются глаза и хочется работать, работать и работать… Ведь настоящий программист почти всегда оптимист! Ему нужны “не разрешимые задачи”, которые он с успехом может решить… А деньги это всего лишь дополнение к интересной работе.

    2003-й Осень. Системы технического зрения





    Большинство предметов на старших курсах преподавалось не в главном здании МГТУ на Бауманской, а на нашей кафедре робототехники на Измайловской. Это было чем-то вроде Калининграда для России. Вроде бы он и её часть, но все же не совсем. Атмосфера на кафедре разительно отличалась от того, что было в Главном здании. Здесь преподаватель является больше партнером и коллегой для студента, нежели формальным ментором. В перерывах между семинарами и лекциями можно было сидеть вместе с профессорами на уютной кухне и общаться на любые темы. Хоть про гусеничных, хоть про шагающих человекоподобных роботов, охраняющих границы нашей Родины.

    Сейчас я оглядываюсь назад и понимаю, что на кафедре царила здоровая свобода, позволяющая студентам само реализовываться. Нет, полностью формальных учебных планов никто не отменял. Да и ставили как пятерки, так и двойки. Преподаватели кафедры позволяли самостоятельно найти и выбрать интересное направление, которым студенты хотели бы заниматься. А выбор был большой. Что ни говори, а роботы штука крайне занятная.
    На кафедре было несколько настоящих промышленных манипуляторов. Наблюдать за тем, как быстро и точно они двигаются, захватывая предметы или выполняя другие действия было увлекательно. Представьте себе схват одного из таких манипуляторов может спокойно смять кусок батареи. А в следующую секунду он аккуратно берет стопку водки яйцо и переносит в другое место. Нет, преподаватели так не наказывали студентов. Яйцо было куриное.



    Я просто не мог не заинтересоваться, а как же робот “видит”? Я понятие не имел пригодится ли это мне в жизни. Но я стал изучать все, что мне удавалось находить по тематике компьютерного зрения. Писал примеры программ, проверял как они работают “в жизни”. В то время OpenCV и подобных библиотек еще не было, поэтому все делалось “руками”. Можно было месяцами писать программу до тех пор, пока будет получен хоть какой-то результат. И мне нравился как сам путь, так и конечная цель. В тот момент я окончательно осознал, что это то, чем я хочу заниматься в дальнейшем. Превратить хобби в виде программирования в призвание и профессию. Поэтому стал искать работу, связанную с техническим зрением и программированием…

    Послесловие



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



    Какие стоит сделать выводы из того, что я написал? Не знаю. Мне кажется, что у каждого свой путь. Но могу сказать совершенно определенно, что программисты как и ученые, для которых результат их труда гораздо важнее всего остального, в том числе и денег, создают самые удивительные и потрясающие вещи в нашем Мире. Они способны в одиночку воплощать в жизнь продукты, которые могут пошатнуть многомиллиардные империи и породить новые рынки. Это люди, которые создают будущее уже сегодня. Главное верить в себя и свои силы. Не боги горшки обжигают! Поздравляю нас всех! Побольше интересных задач и успеха в их реализации! С Днем программиста!
    Ivideon
    Облачное видеонаблюдение и видеоаналитика

    Comments 58

      –30
      Простите, но красной линией через весь текст проходит тема «Посмотрите какой я охуенный и какая у меня интересная, блять, жизнь». Тошно читать, таких историй у каждого второго.
        +5
        Программирование это упорный труд. У вас много друзей, которые находят его интересным? Или друзей нет, как и интересного в жизни? Простите, но это, случайно, не про вас.
          +10
          Простите, что задел вас. Я правда не хотел. Возможно, техническое образование дает о себе знать. Мне казалось, что я наоборот рассказываю о том, что совершенно обычный человек без каких-либо выдающихся способностей, кроме разве что небольшой доли упорства. Но это нормальная черта для любого программиста, способного месяцами отлавливать какую-нибудь мистическую ошибку. Ведь без них никуда.
            +16
            По мне статья как раз для Дня Программиста. Спасибо автору. У начинающих программистов без внутренних комплексов должна повышаться мотивация кодить больше, лучше и упорнее от таких топиков.
              +3
              При определенных усилиях с вашей стороны, ваша жизнь тоже будет интересной ;)
              +2
              Нога!
                0
                Вы про памятник Бауману? Тоже оттуда?
                  0
                  Она самая! Я проучился в РК-6 год, пока Софа меня не тырнула
                    0
                    Софья. Легендарная зам. декана. Она меня тоже чуть не отчислила на первом курсе. Я записался на физкультуру в бассейн. А в это время назначили консультации для сдачи работ по начертательной геометрии. В итоге к началу сессии работы я не сдал. Но потом вовремя взялся за голову и к концу хвостовой сессии подписал все работы и получил допуск на экзамен. Так как даже хвостовая сессия закончилась мне дали направление «на комиссию» да еще и с двумя красными полосами. Обычно, красную полосу рисуют, когда человек получает двойку по этому экзамену. Мне же Софья пояснила, что в моем случае это потому, что «вышли все сроки». В общем, в итоге я сдал комиссии этот экзамен и мне поставили 4. Из-за двух красных полос)
                      0
                      У меня была одна полоска по программированию. Тассов сказал что я бездарь и поставил мне «неуд» в зачетку, но я ему все-таки сдал экзамен. А тырнули меня из-за аналит. геометрии, я просто забил на нее.
                        0
                        Аналитическая геометрия. Случайно не Ефрюшкина?
                          0
                          10 лет прошло, но я помню только три имени (по степени важности для меня)
                          1. Матан — Бархатова
                          2. Программирование — Тассов
                          3. Начерталка — Туон Алексеевна
                          Я их помню потому, что я фанател от этих предметов и до сих пор с трепетом вспоминаю. А все остальные считал неважными и часто игнорировал, видимо поэтому и не помню преподов.
                0
                Ivideon? Не, не слышал.
                  +5
                  Это абсолютно нормально. Не вините себя) А если серьезно, то даже о Facebook знает около 20% населения планеты. Что говорить об Ivideon, который все-таки нужен далеко не всем. Но среди «облачных» сервисов видеонаблюдения на сегодняшний день мы объективно первые. Я считаю, что технологически, но это не всегда поддается измерению. Поэтому можно оценивать популярность/количество пользователей. Например, наш главный конкурент в США это компания Dropcam. В неё было инвестировано за последние 3 года около 20 млн. $. Но если взглянуть на открытую статистику, можно увидеть, что они запустились гораздо раньше нас (в 2010 году), но существенного роста у них так и не произошло. Приток пользователей обусловлен исключительно инвестициями в рекламу. А раз роста нет, то они просто приходят на сайт и уходят.



                  Ivideon запустился летом 2011 года. И превысил показатели Dropcam. Без рекламы. Потому что баннеры Dropcam видели многие. А вот Ivideon — вряд ли. Мы не тратили на это деньги.
                  Если год назад мы приходили к производителям IP-камер, чтобы они дали нам инструменты для установки нашего ПО на борт камер и они нам отказывали. То теперь, очень известные компании платят нам деньги за интеграцию Ivideon с их камерами.
                    +1
                    А под линукс будет версия? И можно некий ликбез чем ваш продукт отличается от AVReg?
                      +3
                      Ivideon Server для Linux уже давно есть. Чем Ivideon отличается от AVReg? Есть достаточно много как технических, так и принципиальных отличий из того, что я увидел на их сайте (это же бывший Linux DVR?).

                      1. AVReg работает только с IP-камерами по http JPEG/MJPEG, а также с веб-камерами. Ivideon помимо http (JPEG/MJPEG) поддерживает фактически всю линейку IP-камер, которые работают по rtsp (H264/MPEG4/MJPEG). При этом, естественно, поддерживается звук от этих камер.

                      2. Детектор движения. Тут нужно проводить испытания. У кого он лучше, у нас или у них.

                      3. У них не написано, поэтому я не могу сказать, есть ли у них предзапись? Это когда происходит определенное событие в кадре (движение), а запись начинается на 5 — 10 секунд раньше, чтобы показать как это событие происходило. У Ivideon это есть.

                      4. Детектор звука, зоны детекции, запись по расписанию и прочие мелочи… У Ivideon они будут доступны в ближайшей версии. На сайте AVReq есть только информация о зонах

                      Но это не самое главное. Ivideon это прежде всего удобная, простая и доступная облачная система. Вы можете установить Ivideon Server локально (без подключения к облаку ivideon), а можете воспользоваться нашим сервисом. В этом случае у вас появятся следующие возможности:

                      image

                      — подключение всех ваших камер, разбросанных хоть по всему миру в единый личный кабинет
                      — нет необходимости во внешнем/статическом IP-адресе
                      — простота. Вы можете попробовать прямо сейчас подключить вашу веб-камеру к Ivideon за 5 минут
                      — возможность удаленного просмотра из любой точки мира на нашем сайте в вашем личном кабинете живого видео и архива со звуком
                      — возможность просмотра на Android или iPhone и iPad
                      — возможность экспорта записи с любой камеры в AVI без выезда на место
                      — услуга записи видео в наше облако (если что-то случится на объекте, ваши записи никуда не денутся)
                      — полное шифрование всего трафика по SSL
                      — функция передачи прав на просмотр видео и архива в другие личные кабинеты (если доступ к камерам должен быть разграничен между разными людьми)
                      — наличие stand alone IP-камер, которые работают без компьютера с Ivideon
                      — хотите встроить видео от вашей камеры себе в блог или на ваш сайт? Сделайте это за 3 клика. Всю остальную работу сделает наш CDN. И это фактически бесплатно.
                      — нет сайта но хотите поделиться видео от вашей камеры с друзьями? Опубликовать в социальной сети? Тоже нет проблем.
                      — нужно получать уведомления о том, что ваш видеосервер отключился? Или отключилась камера? Есть и такая функция.
                      — у вас две камеры и больше не требуется? Пользуйтесь Ivideon сервисом бесплатно (именно сервисом. Сами приложения и так бесплатны и не требуют подключения к Ivideon, для локального использования в качестве обычной системы наблюдения)

                      Я мог что-то упустить, но в целом вот такое сравнение в первом приближении. Получился почти пост!

                        0
                        Здорово! Спасибо.
                          0
                          Уважаемый, хорошее дело делаете, пользуюсь вашим продуктом для одного объекта.
                          Нашел пока один момент, который хочу сообщить:
                          При просмотре записи с IP камеры (в которой нет детектора движения видать) по RTSP поток забирается, поэтому пишется весь.
                          Так вот, просматривать видео на предмет чего случилось ли очень утомительно без функции «быстрого просмотра».
                          Может она и есть в каком-то платном варианте, не нашел.
                          Подумайте, может это можно реализовать?
                            +1
                            Спасибо за хороший отзыв. Хотелось бы уточнить. Вы используете камеру вместе с Ivideon Server на Linux или Windows? Если так, то там есть встроенный детектор движения (намного лучше тех, что есть в камерах). Он включен по умолчанию. Скорей всего запись у вас идет все время, потому что в кадре появляются постоянные изменения и детектор срабатывает. Такими изменениями может быть, например, время, которое «рисуется» в кадре самой IP-камерой. В ближайшей версии появится функция управления зонами детекции. Вы сможете исключить область кадра со временем и тогда детектор срабатывать не будет при изменении времени.

                            Функция ускоренного просмотра есть в личном кабинете и доступна бесплатно. При просмотре архива появляется кнопка увеличения скорости «X1». Доступно ускорение в 2, 4, 8, 16, 32 и 64 раза. На всякий случай привожу её на скриншоте:
                              +1
                              Превосходно! И правда, часы мешали. И в веб-варианте ускорение увидел. Но в клиент-программе для Windows такой фишки нет (уже не так критично, но на заметку Вам).
                              И раз появилась возможность, задам вопрос, может есть ответ:
                              Какие дешевые IP камеры можете посоветовать, которые будут работать с Ivideon? (дешевые, это около 50$), и имеет ли вообще смысл заказывать такие под видеонаблюдение со всяких алиэкспресс и прочих? Это для съемки внутри помещения типа СТО, в дневное время. (инфракрасные огонечки тожи могут быть востребованы). Не у всех таких камер есть автофокус, а вот недорогие с ними, что-то пока не выбрал.
                              И спасибо Вам за Ваш продукт!
                                0
                                В новой версии клиента функция ускоренного просмотра уже запланирована. Он ожидается к выходу в первых числах октября.

                                Что касается камер, точно посоветовать не можем. В планах есть проведение испытаний и написание обзоров. Рекомендации тех или иных моделей. А пока мы можем предложить только то, что у нас есть в магазине. Эти камеры мы точно проверили.
                                  0
                                  Принято. Спасибо за ответ. Буду ожидать тестов.
                    +6
                    Ух! Прочитал на одном дыхании! Где-то даже узнавал себя
                      +3
                      Как же я в свое время хотел на робототехнику пойти, ночами не спал :)
                        +3
                        Извините, но первое предложение напомнило: habrahabr.ru/post/142504/
                          +2
                          Класс! Не видел этого поста. Спасибо!
                            0
                            Да не за что)
                          +2
                          Во многом узнал себя не было конечно Бауманки (денег не было улететь туда из солнечной Сибири, хотя можно было поступить без экзаменов), не было робототехники, но очень многое знакомо… и весь этот драйв продолжается до сих пор =) Люблю свою работу, свое дело, свою профессию.

                          С праздником! =)
                            +2
                            Шахиджанян есть на Хабре и очевидно, что читает его :)
                              +2
                              Вдохновляющая статья, спасибо, что поделились опытом. :)
                              Программирование роботов или других машин очень занимательное занятие. Наблюдение за работой гигантской (или не очень) машины, логику для которой ты написал, это особенное удовольствие. Это то, за чем я буду больше всего скучать. Эх…
                                0
                                Почему скучать? Надо делать своего робота!
                                +1
                                Открываешь камеру и попадаешь в другую страну, в другой мир где-то далеко, далеко

                                По ссылке не совсем «другая» страна. Это Россия. Джума-мечеть города Махачкалы
                                  +2
                                  Спасибо за подсказку! Я правда не знал где это. Очень красивая мечеть! Если надо другую страну, то есть, например, вот такая камера и такая. Кажется, это где-то в Чехии.
                                    0
                                    Да не за что. А так очень вдохновляющая статья. На фоне остальных стартапов про очередную социальную сеть, ваш выглядит очень достойно и востребовано. Удачи Вам
                                  +2
                                  Эх, Бауманка… Был там на втором курсе на конференции, был очень впечатлен масштабами, хотел в аспирантуру туда поступать, но не сложилось. :(
                                  А за ностальжи — спасибо! Похожая история)
                                    +1
                                    Прекрасный пост! Особенно фраза «как может называться наукой область знаний, где отсутствует хотя бы приблизительная формализация»
                                      +5
                                      Суровый преподаватель МГТУ

                                      Долго смеялся, увидев эту картинку во время прочтения абзаца о том, какие хорошие преподаватели в МГТУ. 5 баллов!
                                        +3
                                        В отличии от многих преподавателей на младших курсах, Леонид Карлович не просто рассказывал о своем предмете. Он рассказывал как и где его можно применить…
                                        image
                                        Спасибо тебе, Учитель!
                                          +1
                                          К счастью, я не знаю, что находится в этих пакетиках.
                                            +4
                                            Очевидно же, что это морская соль с ароматическими добавками!
                                        +3
                                        лирик из тебя тоже не плохой, чевствуются гены

                                        спасибо, подумываю и мне стоит написать эссе на тему «Как я стал программистом»
                                          +2
                                          Не надо думать) Надо делать! Но лучше пораньше, а не к следующему году! Спасибо за хороший отзыв!
                                            0
                                            в очереди стоит на четвертом месте…
                                            надо написать статью (все написано, осталось перенести на информационный носитель) и еще пишу статью для блога про основы HighLoad. Тоже туда лирики немного налил, как и что мны делали неправильно…
                                          +1
                                          Читал с удовольствием, хоть и «многабукв». С праздником!
                                            +1
                                            Спасибо. Отражает дух времени, места, профессии :)
                                            Успехов Вам в продолжении пути.
                                              0
                                              Вопрос по вашему видео сервису. Я не понял, где хранится видеоархив: в вашем облаке или на компьютере / карте памяти пользователя?

                                              Насколько я понял из описания вашей IP-камеры, видео сохраняется именно на карту. А в чем же тогда облачность? Придут ко мне домой воры, увидят камеру, вытащат из нее карту памяти и будут долго смеяться…
                                                +1
                                                Дело в том, что у вас есть выбор из нескольких вариантов или одновременно:

                                                1. Хранить видео на карте памяти самой камеры (бесплатно)
                                                2. Хранить видео на вашем локальном компьютере (бесплатно)
                                                3. Хранить видео в нашем облаке (абонентская плата)

                                                Кому-то достаточно 2-го пункта. Установить на объекте сервер видеонаблюдения и спрятать его. А кто-то использует 1 и 3 ванианты или 2 и 3 одновременно. В случае, если пропадает Интернет — записи остаются локально.
                                                  0
                                                  Третий вариант не совсем понятен. Какие ограничения? Оплата?
                                                  З.Ы. я писал на мейл с сайта по сотрудничеству. Но ответа нет.
                                                    0
                                                    Подключение услуги удаленного хранения доступно в личном кабинете при настройке тарифного плана вашего видеосервера. Сейчас неделя хранения видео архива в нашем облаке составляет примерно 9$ в месяц с одной камеры.

                                                    По поводу сотрудничества и отсутствии ответа: напишите, пожалуйста номер вашей заявки. Он автоматически приходит вам в ответ на почту после отправки запроса на сайте.
                                              +2
                                              Читал и радовался! )
                                              С праздником и дальнейших успехов!

                                              PS: Я тоже из бауманки ;)
                                                +2
                                                Поздравляю! :beer:

                                                Статью добавил в закладки и прочту завтра, как ей и подобает!
                                                  +1
                                                  Такие жизнеописания только вдохновляют на подвиги. Спасибо автору. Пишите еще.

                                                  Тот дядя с кортежом какое задание дал, любопытно?
                                                    +1
                                                    У них был проект, связанный с выпуском ПО для интерактивного стенда. То ли для выставки, то ли для размещения в сети магазинов. Этим проектом до меня занималось 2 человека на протяжении года. Тот код, который мне передали, говорил о том, что его писали люди совсем далекие от разработки. Я тогда считал себя «новичком», но их код был хуже некуда. В общем, за 1,5 месяца мне надо было все привести в рабочее состояние. Заплатили неплохо, если считать как деньги за 1,5 месяца. Но если считать, что эту работу можно было делать год и за оклад 2-х человек — сумма получилась весьма скромная. Фактически я все переписал.
                                                    0
                                                    Автор топика куда-то пропал, хотя общались по скайпу о сотрудничестве. Странное поведение.
                                                      0
                                                      Скорей всего вы общались с кем-то из наших сотрудников. Многие из них не сидят все время в офисе и часто выезжают на переговоры. Бывает так, что люди, например, болеют. Кроме того, если вы уже общались, то вы же должны были о чем-то договориться? Напишите мне в ЛС в чем заключалось предложение и имя человека, с кем вы общались?

                                                    Only users with full accounts can post comments. Log in, please.