Говорят, очень круто.
ЭВМ/ IPv6 для Linode в Лондоне
21.12.2011С пол года назад Linode объявила о настоящей поддержке IPv6 для своих виртуальных машин. До этого энтузиасты вроде меня использовали различные туннели. Однако, для большинства пользователей из России эта новость оказалась чуть менее чем полностью бесполезной, так как IPv6 заработал только для американских дата-центров, а наши люди в основном размещают свои машины в Лондоне, чтобы время отклика было поменьше.
И вот на днях IPv6 появился и для лондонских машин! Чтобы его включить, достаточно во вкладке «Remote Access» нажать на «Enable IPv6», после чего перезагрузить машину. Понятно, что, строго говоря, перезагрузка не является технически необходимой, но, видимо, ребятам из Linode так проще, простим им это. «Непорядок» уже работает на новом IPv6 адресе.
Кстати, в панели управления появилось много других новых штук, в частности ядро Linux 3.0, так что тоже обязательно посмотрите.
Вот такую штуку сейчас можно купить за чуть более чем $1000:
Это – MakerBot, полностью автоматизированный 3D-принтер. Он умеет печатать модели в режиме нон-стоп, выталкивая готовые, превращая таким образом вашу квартиру в маленькую фабрику по производству занятных вещей.
Выпуском занимается небольшой стартап MakerBot Industries. Им удалось привлечь $10 млн. венчурных инвестиций для своего проекта, что, как мне кажется, всяко лучше, чем создавать еще одну социальную сеть.
Производство еще не работает в полную силу, после заказа принтер придется ждать 4-5 недель. Приходит он в виде конструктора для отверточной сборки, что также добавляет удовольствия. Насчет доставки в Россию не знаю, возможно, придется воспользоваться посредником.
Как и в любой другой уважающей себя индустрии 2.0™, существует сайт для общения и обмена моделями – thingverse.com («вещеленная»). Встречаются порой очень забавные модельки, например – елочная игрушка «гуглохипстер»:
В связи со переездом, новой работой, поиском жилья совсем нет времени писать что-то интересное на технические темы. Да еще в стране такая движуха. В общем, надеюсь на следующей неделе вернуться в обычный режим. А пока можете почитать меня на Г+.
Некоторое время назад я озадачился поиском инструмента для организации собственных дел. Дел у меня много, и, чтобы они хоть как-то двигались, их обязательно нужно организовать.
Требований у меня было не много: простота, удобство и поддержка методологии GTD (коя органично обобщила мой личный опыт в организации дел). Кандидатов было трое: Remember The Milk (RTM), GQueues и Google Tasks. Начну с последнего.
Google Tasks хороши тем, что я уже пользуюсь сервисами Гугла, так что не нужно умножать сущности; естественно интегрированы с почтой и календарем. Но они слишком аскетичны и поддерживают только древовидную структуру. А для методологии GTD обязательно нужны метки, чтобы объединять дела из разных иерархий в линейные списки. Поэтому, как ни печально, Google Tasks отпадают, на смотря на наличие полноэкранного интерфейса. Впрочем, если Гугл все же вспомнит об этом проекте и таки добавит метки, можно будет к ним вернуться.
Следующий кандидат – лидер индустрии Remember The Milk. Там есть все: и списки, и метки, и напоминалки, и GTD из коробки, и бесплатные приложения для смартфонов и даже какие-то платные супер-функции. Но мне RTM сразу и бесповоротно не понравился своим дизайном, он просто ужасен на мой взгляд. Я не смог себя заставить даже попробовать с ним поработать. Кроме того, если мне не изменяет память, там как-то криво реализована синхронизация с Гугловым календарем.
И, наконец, GQueues. Как заметил кто-то в интернетах, это именно то, чем должны были быть Google Tasks. Этот сервис мне понравился с первого взгляда: современный дизайн, удобный интерфейс, интеграция со всеми службами Google, включая Apps. Сам GQueues работает на App Engine и распространяется через егойный Marketplace. Есть ненулевая вероятность, что в конце концов Гугл его купит и встроит в свои сервисы.
GQueues поддерживает методологию GTD, есть даже обучающий видео-ролик, демонстрирующий это. Правда, как обнаружил я и другие пользователи, официальный метод не так удобен, и лучше пользоваться альтернативным, основанным на метках. Очень много механизмов для добавления задач: плагин к браузеру, гаджет в GMail, чат-бот в GTalk, мобильное приложение.
Как и в любом софте есть мелкие недоработки, которые устраняются со временем. Скажем, раньше GQueues не умел парсить кириллические хэш-теги, сейчас поправили.
Но есть и один большой минус. Важнейшая часть функционала, в частности интеграция с гугловым календарем (которая в свою очередь дает помимо всего прочего бесплатные напоминания по SMS) – платная, $25 в год. При регистрации доступны все функции в течение двух недель для ознакомления (раньше было три недели), после чего нужно либо заплатить, либо платные функции отключаются. За этот срок я так подсел на GQueues, что, скрипя зубами, заплатил. Это уже не первый раз, когда я плачу за софт, причем именно за SaaS, и, думаю, это нормально. Хорошие вещи стоят денег.
Давненько мы ничего не играли. Но сначала введение для тех, кто не следит за бугагашечками на ютубе.
Видео номер раз:
Видео номер два:
И, наконец, собственно мой кавер:
Hurricane Electric сообщает, что среди 39570 сетей в мире, использующих BGP, IPv6 сейчас используют 4830 или 12,2%. Год назад было 7,4%, пол года назад – 9,5%. Глобальная таблица маршрутизации IPv6 перешагнула рубеж в 7000 префиксов. Подробный отчет.
Перемена места – перемена счастья
09.11.2011Я тут решил, что жизнь идет слишком размеренно, и надо бы ее встряхнуть. Посему уехал жить в Питер, устроился в тамошнее отделение Яндекса. Буду творить добро во славу человечества, а в перерывах делать жилище своей мечты: с сауной и роялем. Такие дела.
Давно интересует вопрос, что делать программисту или сисадмину, если он хочет программировать или сисадминить и совершенно не хочет становиться проджект-менеджером, менеджером по продажам или еще каким бездельником. В конце концов он станет стареньким, и никто не захочет брать его на работу. Вы ведь с подозрением отнесетесь к 50-летнему кандидату на собеседовании? И как тогда кушать?
Мы с пацанами на офисной кухне порешали, что самый реальный для технаря вариант — это накопить на маленькую коммерческую недвижимость и сдавать ее торгашам. Арендный бизнес, конечно, не совсем прост и несколько хлопотен, но это всяко проще, чем основать свою компанию, найти свою нишу, урвать кусок рынка и т. д. и т. п.
А вот сегодня Макс Лапшин пишет:
Я съездил на Erlang User Conference 2011. Очень хорошая конференция, было крайне полезно познакомиться с чуваками, делающими сам Erlang. Очень полезная развиртуализация. Удивило то, что все они очень и очень немолодые. В России программисты такого возраста как-то больше досиживают свой срок в уголочке, не в состоянии сделать ничего кардинально нового. Эти делают.
(курсив мой)
Собственно, вот и ответ. В наш век информационной глобальности можно оставаться крутым и востребованным до глубокой старости. Нужно только делать что-то реально новое, полезное для многих людей, а не только для своего проджект-менеджера.
Приснился сон, будто устраивался работать в стартап. И там админы, помимо админства, еще и программировали. Не знаю, правда, на чем, на руби наверное. И для программирования они придумывали себе новые имена и новые логины, соответствующие этим именам. То есть, когда они хотели попрограммировать, то логинились под вымышленными логинами и в разговорах называли друг друга вымышленными именами.
Я сказал, что они слегка тронутые, а они промолчали и сделали такие лица, будто я сказал страшную бестактность.
Квантовый телеграф для биржевых котировок
01.11.2011Говорят, будто бы после запуска первой телеграфной линии в Америке уже через несколько дней по ней начали передавать биржевые котировки.
Товарищ, который занимается высокочастотным трейдингом (спекуляциями на микроколебаниях курса), говорит, что по общим каналам связи информация из Лондона в Москву приходит где-то за 30 мс. Если иметь возможность передавать хотя бы один бит — покупать или продавать — быстрее, на этом можно было бы хорошо заработать. По прямой свет проходит это расстояние примерно за 8 мс, но из-за задержек на коммутацию и маршрутизацию набегает в несколько раз больше.
Мне кажется, это отличная идея для стартапа: изобрести квантовый передатчик, не требующий наземных каналов связи и передающий информацию хотя бы со скоростью света. На сегодняшний день для квантовой телепортации все еще требуется обычный канал связи для восстановления переданной квантовой информации. Можно не сомневаться, если квантовый телеграф и появится, первыми им воспользуются трейдеры.
Есть такая шутка, что все технологии Интернета созданы для порно. Более быстрые каналы связи, более вместительные хранилища, более совершенные мультимедийные технологии — все это придумывается исключительно для просмотра порно. А недавно мне попалась очень интересная видео-презентация о том, что наш технологический прогресс подчинен алгоритмам, торгующим на бирже. Скажем, рассказывалась история о том, как в Нью-Йорке был полностью выпотрошен и начинен торговыми серверами целый небоскреб просто потому, что он очень близко стоял к каналам связи.
Как-то, запустив ps на машине с работающим браузером Chrome, я увидел любопытную картину:
3206 ?? Ss 0:18.18 chrome: (chrome)
29405 ?? S 0:01.04 chrome: (chrome)
29873 ?? I 0:00.76 chrome: --type=zygote (chrome)
18408 ?? S 0:10.25 chrome: --type=renderer --lang=en-US --force-fieldtes
22029 ?? S 0:08.76 chrome: --type=extension --lang=en-US --force-fieldte
17670 ?? S 0:01.00 chrome: --type=extension --lang=en-US --force-fieldte
8551 ?? S 0:01.51 chrome: --type=extension --lang=en-US --force-fieldte
10959 ?? S 0:02.02 chrome: --type=renderer --lang=en-US --force-fieldtes
Мое внимание привлекло слово zygote в параметрах одного из процессов chrome. Как известно из школьного курса биологии, зигота — это оплодотворенная и готовая к развитию яйцеклетка. Ха, подумал я, ну и шутники же эти гугловцы. Видимо, так они назвали свой основной процесс, от которого форкаются остальные. В Chrome ведь каждая вкладка и каждое расширение — это отдельный процесс.
Но затем, немного погуглив, я узнал, что у этой зиготы более глубинный смысл. Одна из важных особенностей Chrome — прозрачное автоматическое обновление. Допустим, во время работы браузера обновилась какая-то разделяемая библиотека. Затем пользователь открывает новую вкладку, запускается новый процесс для рендеринга страницы. Если просто делать exec бинарника с диска, то новый процесс подхватит уже новую библиотеку, которая может быть несовместима с той, что была при старте основного процесса браузера. Чтобы этого избежать, при первом запуске Chrome запускает протопроцесс (зиготу), который затем будет форкаться каждый раз, когда нужно запустить новый процесс рендеринга. Таким образом все последующие копии будут иметь один и тот же набор библиотек, который был при запуске браузера.
Сам процесс-зигота ничего не делает, просто висит в памяти и ждет команды от мастера, чтобы разделиться и дать жизнь новой вкладке. Такая вот биология.
Недавно на собеседовании мне предложили несколько задачек, среди которой была задача о шарах. Вы, возможно, знаете ее, формулировка у ней такая. В корзине лежит m белых и n черных шаров. Из нее наугад вынимают 2 шара. Если шары одного цвета, то в корзину возвращают белый шар, если разного, то черный. Считается, что есть достаточное количество белых шаров вне корзины для их возврата в случае постоянной выемки пар из двух черных шаров. Вопрос: можно ли, зная числа m и n, заранее сказать, какой шар в корзине останется последним?
К своему стыду за отведенное время я эту задачу не решил, хотя провозился с ней долго. Я вообще несколько туповат и тугодум, поэтому быстро решать подобные задачи не могу. На днях я вернулся к этой задачке, так как решить ее было делом чести.
Сначала я снова начал бродить вокруг тех же безрезультатных идей, которые у меня были на собеседовании. Но потом вдруг вспомнил о недавнем чтении ТФКП и придумал вот что. Пусть общее число шаров в корзине соответствует некому комплексному числу , причем действительная часть показывает количество белых шаров, а мнимая — черных. Если вынули два белых шара и затем один вернули, то в корзине останется
. Если вынули два черных и вернули белый, то в корзине будет
. И, наконец, если вынули белый и черный и вернули черный, в корзине останется
. Видно, что третий случай эквивалентен первому. Кроме того, общее число шаров
на каждом шаге уменьшается ровно на единицу, то есть в конечном итоге действительно останется только один шар. Таким образом, при очередной выемке к текущему числу шаров прибавляют либо число
, либо
.
Пусть до того, как в корзине остался один шар, сделали выемок по
и
выемок по
(
— неотрицательные целые). Тогда возможно два варианта:
, если последний шар белый, и
, если последний шар черный.
Вообще, сами комплексные числа тут особо не нужны, нужно только их представление на комплексной плоскости, т. е. можно вполне обойтись обычными векторами. Пусть — вектор, задающий начальное состояние корзины. Тогда конечное состояние можно представить в виде суммы начального вектора и линейной комбинации векторов
и
.
Таким образом, векторные уравнения распадаются на пары скалярных:
, если последний шар белый, и
, если последний шар черный.
Отсюда видно, что для белого шара и
для черного. То есть если начальное число черных шаров четное, то последним останется белый шар, если нечетное — то черный. Это и есть ответ.
Мораль сей басни такова. Изучение любых, даже не связанных напрямую с текущей деятельностью, наук очень полезно, ибо позволяет по-новому взглянуть на насущные проблемы и быстрей найти решение.
ЭВМ/ Google AI Challenge 2011: Ants
15.10.2011Не успели мы отдохнуть от ICFPC, как появился новый повод расчехлить боевые компиляторы. Гугл проводит соревнования по созданию искусственного интеллекта. Участникам предлагается реализовать алгоритм управления колонией муравьев. Целью колонии является захват территории и уничтожение других колоний. Подробности можно узнать на сайте проекта. Битвы между колониями проходят в режиме онлайн на сервере организаторов, ведется рейтинг участников.
Писать можно на любом языке, для которого доступен starter kit. C пока нет, но есть C++, который, как известно, обратно совместим. Есть, кстати, пакет для PHP, хехе. В общем, думаю, надо попробовать, тем более что теперь у меня, как человека безработного, очень много свободного времени.


