Управление автомобильным движением в Москве (видео)

Видео про то, как организуют автомобильное движение в Москве. Не знаю, как это делается в других странах, но то, как сделали в столице России, — впечатляет. Видно, что в программно-аппаратную систему, обеспечивающую всю эту красоту, вложено не только много денег (что обычное дело для любых масштабных проектов, но что совершенно не гарантирует, что получится что-то действительно полезное), но и работы IT-специалистов. Скорее всего, всё это написано российскими программистами, но теоретически это может быть построено на какой-нибудь существующей платформе, а у нас это только всё сконфигурировали. Интересно бы узнать технические детали реализации. К сожалению, в видео про это ничего не сказано.

Про Azure от Скотта Гатри

В четверг побывал на мероприятии, организованном в Бостоне компанией Microsoft и посвящённом их облачной платформе Azure. Не буду тут долго рассусоливать. Отмечу лишь, что я пересекался с платформой Azure в 2013 году. С тех пор она полностью выпала из моего поля зрения. И вот сейчас, спустя четыре года, я имел возможность оценить прогресс Microsoft в этой области. И прогресс этот впечатлил. Платформа ушла далеко вперёд по сравнению с тем, что было четыре года назад. У меня — впервые, пожалуй — возникло ощущение, что «облако» — это будущее интернета. Облако для интернета — это то же, что интернет (TPC/IP) для отдельных компьютеров. Интернет объединил и стандартизировал взаимодействие между компьютерами, дав миру возможности, которых принципиально не было раньше.  Облачные технологии объединяют и стандартизируют взаимодействие между разрозненными веб-хостингами, точно также создавая несуществовашие раньше возможности по управлению и контролю за сетью и по эффективному её использованию.

На снимке — легендарный человек. Это Скотт Гатри (Scott Guthrie), руководитель облачного отдела Microsoft, а также отделов разрабатывающих SQL Server, Windows Server, Visual Studio, .NET и некоторые другие продукты. В частности, он создал ASP.NET — один из основных инструментов моего заработка в течение многих лет. Скотт начинал как обычный программист, а сейчас он один из главных действующих лиц в Microsoft. На девяносто процентов конференция состояла из его выступления (а длилась она несколько часов). При этом, рассказывает он интересно, его совсем не скучно слушать.

Фотка выше интересна ещё в одном аспекте. На экране за выступающим видна карта мира, и на ней отмечены так называемые «Azure Regions», то есть дата-центры Microsoft, обеспечивающие работу облака Azure по всему миру. Как нетрудно заметить, на территории России нет ни одного дата-центра. Так же обстоят дела с облаком конкурента Azure — Amazon Elastic Cloud (Amazon EC2) и другими хоть сколько-нибудь заметными игроками на рынке облачных технологий. Довольно печальный факт, имхо. Хотя, гуглинг выявил, что говорить, что на территории России нет вообще никаких публичных облаков, было бы неверно. Есть некий ActiveCloud. Было бы неплохо, если бы это облако — кем бы оно ни управлялось — разрослось и стало достойным конкурентом Azure и EC2.

Ну и последнее, о чём хотелось бы упомянуть. Когда выступающий говорил, на боковых экранах в аудитории отображалась транскрипция его речи в реальном времени! Причём, ошибок в этой транскипции практически не было. Даже когда спикер говорил тихо или невнятно. Мне вот очень интересно, как это было сделано. Ещё лет десять назад у меня бы не было других объяснений, кроме как очень быстро печатающий человек, сидящий за кулисами. Но сейчас, с развитием ИИ, возможны варианты. К сожалению, этот вопрос не осветили в ходе конференции. Зато показали довольно интересное приложение на основе Azure, в некоторой степени использующее искусственный интеллект. А именно, оно мониторит разнообразные интернет-форумы, чаты, социальные сети на предмет заданной темы (в пример это был сам Azure), а именно, на предмет негативных отзывов об этой теме. Все найденные негативные отзывы направляются на рассмотрение живому человеку для «принятия мер». Имхо, очень полезная технология в наш век интернет-общения, объём которого превосходит возможности абсолютно любого человека, если он захочет за всем этим следить. 🙂 Впечатлило.

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

R-Type: история создания

Неожиданно наткнулся в интернетах на интереснейшую книгу, чтение которой захватило меня на несколько дней. Это вот выше — её обложка. А вот здесь на сайте автора её можно скачать бесплатно (на всякий случай разместил её ещё и у себя). Книга о создании одной из культовых компьютерных игр на ZX-Spectrum — R-Type, написанная автором игры — Бобом Пэйпом (на английском языке). Точнее, Боб переписал игру в 1988 году для ZX Spectrum. Оказывается, оригинал был создан японской фирмой IREM для игрового автомата. Сначала тот факт, что игра не была задумана и спроектирована Бобом Пэйпом, а была им портирована с другой платформы, несколько снизил в моих глазах его заслуги, но по мере чтения я всё больше и больше убеждался, что то, что он делал, — это по сути написание игры с нуля. Учитывая существенную разницу между архитектурой игрового автомата, на котором работал оригинал, и архитектурой ZX Spectrum даже наличие исходников игры ни капли не помогло бы в портировании. Из исходной игры была взята только идея, сюжет и общий вид графики. Абсолютно весь код был написан от начала и до конца Бобом Пэйпом, а графика и звуковые эффекты воссозданы на основе оригинальной игры двумя его коллегами. И ведь эти три человека смогли не только воссоздать игру очень близко к оригиналу, при этом сделав порт очень играбельным и создав классику восьмибитных игр, но и выполнить это на очень ограниченной архитектуре ZX Spectrum, которая даже в сравнении с другими восьмибитными платформами того времени стоит едва ли не на последнем месте по ресурсам, предоставляемым разработчику (память, скорость процессора, возможности графики). Поэтому я считаю, что R-Type на ZX Spectrum вполне можно рассматривать как один из образцов виртуозного программирования, в котором использовались все мыслимые приёмы — вплоть до самомодифицирующегося кода, — позволяющие сэкономить память и выжать из процессора всё до последней капли.

Конечно, эта книга очень нишевая и будет интересна далеко не каждому. А только тем, кто, как и я, в восьмидесятых годах был увлечён восьмибитной компьютерной техникой, играми и программированием на восьмибитных платформах. А также, как мы с друзьями, засиживался до поздна за игрой в R-Type. 🙂 Я лишний раз убедился, что талантливый человек талантлив во всём: Боб Пэйп не только создал ставшую культовой игру, но и описал этот процесс в книге, которую очень интересно читать. Я реально не мог оторваться — там местами почти детективная история. Собственно, автор описал не только то, как он создавал R-Type, но и то, как он пришёл к программированию, а также как складывалась его судьба после успеха написанной им игры. Кроме того, его книга позволила мне — россиянину — заглянуть в то, как «это было там». Как люди становились программистами в Великобритании в восьмидесятых годах прошлого века, и как выглядела индустрия создания софта того времени. А кроме того, дочитав последнюю страницу, я, возможно, увидел один из возможных сценариев своей собственной жизни. Дело в том, что сейчас Боб Пэйп уже не имеет никакого отношения к программированию: он работает в абсолютно другой сфере и ждёт выхода на пенсию. В последней главе он раскрывает причины этого. В те годы, когда создавался R-Type, было совершенно реально написать игру-хит в одиночку. Требовалась только помощь того, кто мог создать графику и музыку/звуковые эффекты. Однако по мере появления более мощных платформ это становилось всё менее и менее реальным, и пришло в итоге к тому, что в наше время игры пишут целые коллективы, порой достигающие десятков человек. И одиночке-программисту тут делать совершенно нечего.  А Боб был именно таким одиночкой-фрилансером, работавшим у себя дома. Конечно, меня это не совсем касается — я всегда работал в коллективе, но это показывает, что конъюнктура всегда может измениться таким образом, что разумным и неизбежным может стать решение поменять профессию.

Интересно, что R-Type был выпущен в 1988 году, а уже через четыре года — в 1992 году — английский рынок коммерческих игр для ZX Spectrum был уже мёртв.

Эпл-мобиль

Я давно стремился сфотографировать автомобиль, производящий картирование для одного из сервисов онлайн-карт (Google, Apple, Microsoft, Яндекс). Пару раз я такие автомобили видел, но не успевал среагировать, чтобы сделать фотку. Но вот несколько дней назад мне удалось протормозить достаточно недолго, чтобы запечатлеть автомобиль Apple Maps. Замечен в Бостоне. Наверное, теперь я появлюсь на их картах. 🙂

Судьба программирования

Продолжая тему искусственного интеллекта. Я вот почти убеждён, что моя профессия — программист — будет практически в полной мере автоматизирована с использованием ИИ относительно скоро. Думаю, правда, что мне до пенсии работы хватит (то есть ещё лет двадцать), но моя пенсия наступит как раз во время, чтобы мне не остаться без работы.

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

Создание программ с пользовательским (человеческим) интерфейсом будет автоматизировано позже и безусловно потребует применения ИИ. Потому что тут роботу-программисту придётся не только понимать широкий контекст задачи, но и разбираться в человеческой психологии, а также в эргономике. Впрочем, тут будут иметь место два конкурирующим друг с другом процесса. С одной стороны, ИИ будет усложняться, и соответственно, становиться более способным создавать пользовательский интерфейс для человека. С другой стороны, необходимость в каком-то особом пользовательском интерфейсе, отличающемся от того, как общаются между собой люди, с развитием ИИ будет становиться всё меньше. Чем умнее будет ИИ, тем меньше будет отличаться общение человека с роботом от общения человека с человеком.

Думаю, что чтобы не оказаться на обочине жизни раньше времени, необходимо следовать трендам индустрии. А тренд будет такой, что «кодеры», бесконечно клепающие веб-формы, которые что-то пишут в базу данных, будут нужны всё меньше и меньше. А нужны будут те, кто будет двигать искусственный интеллект. В какой-то момент он достигнет уровня, при котором сможет совершенствовать сам себя, но пока этот день ещё не настал. Поэтому в ближайшие годы будут становиться всё более востребованными знания и навыки в таких областях как big data, machine learning, neural networks. В этих направлениях, видимо, и надо развиваться.

Дилемма программиста из глубинки

Прочитал на Хабрахабре интересную статью под названием «Каково это — быть разработчиком в России, когда тебе сорок». В ней речь о карьере одного программиста, моего ровесника, который, также как я, начинал с программирования на Бейсике и ассемблере на восьмибитном компьютере. Правда, для меня это был ZX Spectrum, а для него — «Микроша», советский восьмибитный компьютер на отечественной элементной базе. Но «Микрошу» я тоже помню — он был у моего троюродного брата, и я в конце восьмидесятых ездил через полгорода к нему специально для того, чтобы поиграть на «Микроше». 🙂

В отличие от меня, автор пытался и пытается строить карьеру в российской глубинке (конкретный город в статье, вроде, не называется). И результат, к сожалению, печальный. Автор, человек явно очень творческий, энергичный, интеллектуальный и открытый новому, долго пытался найти применение своим талантам в своём городе, но заканчивается всё беспросветным погружением в бюрократические джунгли российских государственных предприятий. Статья завершается эпической фоткой, иллюстрирующей то, чем вынужден теперь заниматься амбициозный в прошлом программист: перешнуровыванием каких-то производственных журналов из-за того, что они оказались прошнурованными через две дырки, а «по правилам» должны быть прошнурованы через три! Вот тебе, бабка, и Юрьев день! То есть, вот тебе и роботостроение, искусственный интеллект, большие данные, облака и прочие высокие технологии. Три дырки должно быть, а не две! И всё это, насколько я понимаю, за более чем скромные деньги. 🙁

Хотя, с другой стороны, результат, мне кажется, закономерный. И, возможно, даже не только для России. Я не уверен, что и в США, в каком-нибудь захолустном Арканзасе или Небраске программисту реально найти престижную, высокооплачиваемую работу. Высокие технологии естественным образом тяготеют к центрам цивилизации, к большим городам. И даже среди больших городов не все города равны в этом плане. Скажем, в США центр технического прогресса находится, как известно, в Кремниевой долине в Калифорнии. В других городах всё не настолько прогрессивно, как там. Хотя вот Бостон, кстати, наверное, исключение. Чего стоит Boston Dynamics, который, пожалуй, дальше всех во всём мире шагнул в области роботостроения.

Мне показалось, что автор размышляет о превратностях жизни разработчика в сфере ИТ, при этом по факту таковым не являясь. А являясь явно кем-то из руководящего звена (начальник отдела?). Как бы, никто не мешает сказать — я программист и буду только программировать и ничего сверх того. Другое дело, что зарплата, и без того невысокая, скорее всего снизится в этом случае до уровня «ниже плинтуса». Но зато останешься программистом. А за деньгами надо ехать в Москвопитер или за границу.

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

Пролистать наверх