Под капотом Screeps — виртуализация в MMO-песочнице для программистов
В этой статье я расскажу про одну малоизвестную технологию, которая нашла ключевое применение в нашей онлайн-игре для программистов. Чтобы долго не тянуть резину, сразу спойлер: кажется, что такого шаманства в нативном коде Node.js, к которому мы пришли после нескольких лет разработки, до нас еще никто не делал. Движок изолированных виртуальных машин (опенсорсный), который работает под капотом проекта, был написан специально для его нужд, и на данный момент используется в продакшене нами и еще одним стартапом. А возможности изоляции, которые он дает, не имеют аналогов и заслуживают, чтобы о них рассказали.
Но давайте обо всем по порядку.
Предыстория
Вы любите программирование? Не тот рутинный энтерпрайз-кодинг, которым многие из нас вынуждены заниматься 40 часов в неделю, борясь с прокрастинацией, вливая в себя литры кофе и профессионально выгорая; а программирование — ни с чем не сравнимый волшебный процесс трансформирования мыслей в работающую программу, получение наслаждения от того, что только что написанный тобой код воплощается на экране и начинает жить той жизнью, которой велит ему создатель. В такие моменты слово "Создатель" хочется написать с большой буквы — настолько чувство, возникающее в процессе, иногда бывает близко к благоговению.

Жаль лишь, что совсем немного реальных проектов, связанных с каждодневным заработком, могут предложить своим разработчикам такие чувства. Чаще всего для того, чтобы не терять страсть к программированию, энтузиастам приходится затевать интрижку на стороне: программистское хобби, пет-проект, модный open-source, просто скрипт на питоне по автоматизации своего умного дома… или поведения персонажа в какой-нибудь популярной онлайн-игре.

За последнее время я несколько раз успел поучаствовать в дискуссиях о том, чем 
Когда я читаю про фрагментацию устройств на Андроиде, я мысленно киваю, соглашаясь с автором статьи. Когда я вижу тезисы о том, что фрагментация устройств мешает разработке ПО, то я недоуменно поднимаю брови. Но когда мне пытаются доказать, что фрагментация Андроида — это главная проблема этой платформы и главный минус для разработчиков мобильного ПО, я, откровенно говоря, начинаю смеяться. Простите, но это либо чисто маркетинговая намеренная чушь, либо совершеннейшее непонимание ситуации.
Тот, кто хоть раз копировал фотографии с телефона, знает, что это довольно утомительно. Поэтому многие даже не пытаются этого делать. Но ведь фотографии для того и нужны, чтобы ими делиться, а не просто хранить на карте памяти! Поэтому мы разработали функцию*, которая создаст в облаке закрытый альбом, доступный для всех ваших устройств, и будет автоматически загружать в него ваши фотографии. Вы легко сможете поделиться ими в любой момент.
Хоть главная и пестрит на данный момент словами «Android 2.2» и «Froyo», но я не могу молчать. На гуглоконференции Вик Гундотра показал нечто, что я, лично применяя к себе как потребитель, считаю самым серьезным революционным прорывом в коммуникационных девайсах со времен Palm Pilot. И почему-то про это на Хабре совсем не сказали ни в нескольких заметках о Froyo с конференции, ни в обзорах перепрошитого Нексуса. Ускорение работы, флеш, хот-споты и красивый маркет — это все здорово, но это не меняет настолько сильно принцип работы с устройством, как такая вещь, как cloud-to-device messaging API.
