vnaum

2016-04-02

Technobabylon

Предыдущая игра Wadjet Eye, Primordia, мне очень понравилась.

Так что Technobabylon я ждал, чего уж. И вот прошёл.

Ну что, опять адвенчура про сироту, которая внезапно оказывается братом короля. То есть, в нашем унылом будущем, сестрой искусственного интеллекта, управляющего городом. Всё по проверенному шаблону (Beneath a steel sky, та же Primordia) — так то если тема ваша, надо брать.

Не без недостатков, конечно.

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

Потом, простите, Виртуальная Реальность. Это в квестах такой волшебный мир, где с логикой плохо, и что угодно может делать что угодно. Для квеста это почти всегда плохо. Даже в BASS было уныло. Уныло и тут. Слава богу, не налегают на эту тему, кладут по чуть-чуть.

Ну и когда доходит до разговоров, персонажи не знают меры. Разговор минут на десять времени — легко. Возможно, это просто у меня мало времени стало и как-то охота побыстрее. В любом случае, главы про экшен это искупают — там всё отлично.

В общем, хорошо, пожалуй.

2016-03-25

BREAKING NEWS

На этой неделе сообщество Node.js подверглось могучим потрясениям.

Если вы старый пират, далёкий от всех этих новомодных штук, я накоротко перескажу.

Есть такая Node.js, для странных людей, которые почему-то решили что на Javascript можно писать программы. Ну, бог им судья: в конце концов, есть языки и похуже. Я, например, на этой неделе написал два батника и не жужжу.

У Node.js есть свой пакетный менеджер и репозитарий пакетов, npm. Потому что у всех нынче есть, чем нода хуже.

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

Азер ответил в духе "я вас нибаюс", и юристы пошли со своими пожеланиями к администраторам npm. Администраторы оказались более сговорчивыми, и спорный пакет распубликовали / удалили. Видя такое свинство, Азер решил убрать все свои пакеты с npm — мол, не оправдали доверия. Этих пакетов оказалось ~270 штук (кто-то напрягся уже на этом месте, и правильно — чуть дальше дойдём до этой мякотки).

Среди них оказался пакет left-pad, который популярный, и его пропажа вызвала много боли у всех, у кого сломался билд. Было много суеты, пакет возвращали, докладывали недостающие версии и всё такое - в общем, буря негодования и всякая активность.

Теперь обещаная мякотка. Как же так вышло-то, что Азер в одно лицо наколбасил три сотни модулей? Ведь модуль — это серьёзная работа, много кода, поддержка, стандарты, API? Ответ прост: на ноде "модуль" запросто может оказаться размером в пять строк содержательного кода, а то и вовсе в одну. Вроде кусочков кода из perlfaq, которые старые пираты тупо копипастили себе в программы.

Реально, у них есть модуль для проверки "является ли аргумент массивом", модуль для "является ли аргумент положительным числом", а у этого последнего есть особливое примечание: мол, 0 мы тут положительным не считаем, а если вам надо чтоб считали - вот рядом модуль с нужной характеристикой. Пропавший left-pad, кстати, тоже был не сильно тяжеловесом: 11 строчек, а занимался выравниванием аргумента нулями/пробелами слева.

И чо, спросите вы, на весь модуль одиннадцать строчек? Нет, что вы! Там тесты, документация, комментарии, зависимости, версии! Со всей шелухой, да помноженное на количество скачиваний - один только left-pad за месяц сделал npm-у 100Gb трафика.

Это до чего же надо было людей напугать копипастой кода, чтобы до такого дошло. Или, я не знаю, разработчики уже забыли, что из интернета может что-то пропадать? И что и сам-то интернет может быть недоступен? Такие дела.

2014-05-13

Как mysql угадывает текущего пользователя Unix

Вот что это за чёрная магия, а? пытаюсь скормить запрос mysql через stdin - access denied. запускаю рукой - никаких проблем!

нет, это не хитрый алиас. и .my.cnf нету. mysql голимый, из пакета.

К решению ведёт размышление "задом наперёд": не "чего это он не коннектится с перенаправлением", а "почему он коннектится без перенаправления — ведь пароль я не говорил".

Пакет mysql-server в дебиане после установки спрашивает пароль для mysql root. При установке из скрипта (в моём случае - из Ansible, который я не устаю пиарить!) спрашивать не у кого, так что root остаётся без пароля. Это стрёмно, но не ужасно: mysql из коробки слушает только 127.0.0.1, так что воспользоваться таким доступом можно только локально.

Дальше дело такое: если клиент mysql запускается без явного указания имени пользователя, то "MySQL clients by default try to log in using the current Unix user name as the MySQL user name" Но вот это вот "current Unix user name" он берёт не из getuid, как можно бы подумать, а из getlogin: https://github.com/facebook/mysql-5.6/blob/webscalesql-5.6.16-47/libmysql/libmysql.c#L420

А getlogin возвращает владельца "controlling terminal of the process". В переводе на русский это значит так: сколько бы su и sudo ты не делал, терминал продолжает принадлежать пользователю, который залогинился на нём самым первым. То есть если в моём случае я зашёл по ssh пользователем root и оттуда сделал `su - appdev`, то whoami считает что я appdev, geteuid вернёт что надо, в LOGNAME будет написано appdev. И лишь клиент mysql посмотрит кому принадлежит терминал и поймёт, что всё иллюзия, а я на самом деле root:

  ...
  readlink("/proc/self/fd/0", "/dev/pts/0", 511) = 10
  stat64("/dev/pts/0", {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 0), ...}) = 0
  ...
А пароль у root в mysql пуст. Бинго, мы вошли.

С перенаправлением же stdin становится не терминалом, а пайпом. Пайп принадлежит тому, кто его создал: appdev. У appdev в mysql пароль не пустой -> ошибка.

Такой день.

2013-01-31

А вот похвалю игру: Primordia

Квест, ребята, квест совершенно классический! В духе LucasArts (то есть нету безвыходных тупиков в сюжете), с сюжетными развилками, с разными концовками, с приличной эмбиент-музыкой. Сюжет — постапокалиптический. Желающие пофилософствовать легко проведут нужные параллели с ситуацией в стране и в мире. По ощущениям — Beneath a steel sky + Fallout + немножко Syberia.

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

С точки зрения графики всё нарисовано классно, только пожалуй что фоновые картинки вместо канонического 320x200 стоило бы рисовать хотя бы в 640x480. Я понимаю что классика и всё такое, но Broken Sword уже в прошлом веке был классикой — в нормальном разрешении

Берётся в Steam или на официальном сайте, работает под wine, стоит своих $10.

2013-01-28

configuration management

В конце прошлого года проводил осмотр решений для configuration management для одной конторы. С конторой не срослось, но из любопытства всё равно прошёлся по базару — посмотрел чего дают. Чтобы не пропадало — пишу в бложик.

Configuration management это, упрощённо говоря, нагиосовсие чеки + рецептики исполнителю как сделать, чтобы оно вот так стало. То есть не просто "на 80 порту должен быть апач", но и "для этого надо из репозитария поставить вот такой пакет, положить ему вот такой конфиг и запустить вот это вот". В результате имеем возможность на свежий хост накатить этого вот исполнителя, сказать ему какие рецепты его — и оно там всё перечисленное установит-настроит-скомпилирует и в конфиги пропишет. Экономия на времени установки, плюс возможность сложить описание машины в какую-нибудь систему контроля версий для исторических раскопок.

Рассматривал 4 варианта (вообще их больше, конечно): cfengine, chef, Puppet и salt. Проверочное задание назначил себе несложное: поставить апач, написать ему в index.html что-нибудь по шаблону с использованием переменных (например, первый ip-адрес с eth0 или название операционки).

cfengine

Сайт: http://cfengine.com/

Самый старый из вариантов — официальная история начинается ажна в 1993 году. Как ни странно, стабильности пока нету: в дистрибутиве есть ветки cfengine2 и cfengine3, и между версиями 3.2.4 и 3.3.0 запросто появляется новый формат шаблонов. Написан на православном C, сборка-установка традиционная (configure/make/make install). Рецепты называются "обещаниями" (promises). Язык обещаний странный, но видали мы и постраннее.

Ставим апача:

body common control {
  bundlesequence  => { "test004" };
  inputs => { "cfengine_stdlib.cf" };
}
bundle agent test004
{
 packages:
  ubuntu::
   "apache2"
             package_policy => "addupdate",
             package_method => apt,
             package_select => ">=",
            package_version => "2.2",
      package_architectures => { "*" };
}

Пишем файл по шаблону:

body common control
{
bundlesequence  => { "templating" };
inputs => { "cfengine_stdlib.cf" };
}

bundle agent templating
{
files:
  "/var/www/index.html"
       create => "true",
       edit_line => expand_template("/tmp/source_template"),
       edit_defaults => empty;
}

Собственно шаблон "/tmp/source_template":

<h1>Blah!</h2>
$(sys.ipv4[eth0])

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

chef

Сайт: http://www.opscode.com/chef/

К Шефу это уже второй мой подход. Первый, около полутора лет назад, закончился очень быстро: для управления одним сервером chef явно перебор, а процедура сборки была такая, что проходить её до конца не пожелал даже я. Теперь похорошело: есть репозитарии собранных пакетов для популярных вариантов. Качество сборки, впрочем не того... с первой попытки у меня не взлетело: один файлик попал сразу в два пакета. Пришлось пошурудить с dpkg --force-overwrite

Первое что про про chef надо сказать — он, ребята, большой. По сравнению со всеми конкурентами он прямо-таки огромный. Даже с no-recommends он цепляет за собой 526Мб пакетов, которые прямо поражают разнообразием: тут и java, и ruby, и qt, и gtk, и apache, и jetty, и erlang, и couchdb. Набор несколько пугающий. Причём если что-то ещё можно списать на сборщиков пакетов, которые по неопытности или по лени собрали с максимальным набором опций — то Ruby, Erlang и Java реально используются компонентами chef-а. Такие нынче компоненты пошли, да. У каждого свой язык, своя VM и своя пакетная инфраструктура. Я с трудом представляю человека, квалификации которого достаточно чтобы починить весь этот зверинец, если, не дай бог, чего сломается. Недаром разработчики первым делом предлагают hosted chef за скромные $120/mo. Это "Launch"-ценник, за Standard просят уже $300/mo.

Идём дальше. Например, у него есть не только понятие "сервера" (chef server, где лежит конфигурация всего хозяйства) и "узла" (node, chef client — управляемая машина), но ещё и "workstation" — это место где рецепты пишутся. Как-то остальные были довольны обычным текстовым редактором. Ну да бог с ним, может быть оно как-то окупается удобством работы — не знаю. В общем, нужна машина с knife.

При попытке сделать клиенту bootstrap (так у них называется установка исполняющего рецепты агента) случился следующий конфуз: оно туда идёт по ssh и пытается, реально, ставить gem-ы для Ruby. То есть мало того что нужен ruby конкретной версии (в дистрибутивах сейчас две: 1.8 и 1.9), но и компилятор с заголовками-библиотеками из dev-пакетов. На этом месте ортодоксальные администраторы уже говорят "не-е, это не для продакшена".

Рецепты собираются в кулинарные книги (cookbooks) — это хитроназванные git-репозитарии особой структуры. Пишется всё на Ruby:

package "ntp" do
    action [:install]
end

template "/etc/ntp.conf" do
    source "ntp.conf.erb"
    variables( :ntp_server =&gt; "time.nist.gov" )
    notifies :restart, "service[ntpd]"
end

service "ntpd" do
    action [:enable,:start]
end
Шаблоны — обычный erb:
# generated by Chef.
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
server <%= @ntp_server %>
server  127.127.1.0     # local clock
driftfile /var/lib/ntp/drift
keys /etc/ntp/keys

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

Итого: Чего-то наворотили. За язык рецептов/шаблонов — зачёт, по моему мнению вместо изобретения своего надо брать какой-то общечеловеческий. Всё остальное... Ох, ну оно работает, конечно. И даже кому-то нравится. Но не мне. Слишком развесисто, слишком over-engineered. По совокупности — не рекомендую.

Puppet

Сайт: http://puppetlabs.com/

Популярный (в списке пользователей имеются гранды вроде Google, Zynga и Twitter). В дистрибутивах есть рабочие пакеты. С сайта можно скачать готовые тренировочные vm-ки "на посмотреть". Документация на офсайте вполне читаемого качества. Есть и бумажные книги (разумеется, несколько устаревшие). Написан на Ruby, но без особого хипстерства.

Рецепты называеются "манифестами", пишутся на своём декларативном языке:

package {'apache':
  ensure => latest,
  name => 'apache2',
}

service {'apache':
  ensure => running,
  name => 'apache2',
}

file {'/var/www/index.html':
  ensure  => present,
  content => template('/root/test-index.html'),
}

Язык шаблонов — снова erb:

<h1><%= @operatingsystem %></h1>

Итого: Ну, всё хорошо про него. Из минусов — всё-таки ruby (имеются завязки на версии). Наверняка дальше там есть какие-то камни, но по внешнему виду — явный лидер.

salt

Сайт: http://saltstack.org/

Ещё один молодец тестирования, про которого ничего сильно интересного и не рассказать: скачал, запустил, работает. Документация, кстати, прямая как стрела: можно подумать, что они знают, чем я его буду проверять. Написано на Python, проект относительно молодой (since 2011).

Рецепты называются "state tree", язык внутри — yaml. Заказываем пакетик с апачем:

apache2:                # ID declaration
  pkg:                  # state declaration
    - installed         # function declaration

  service:
    - running
    - require:
      - pkg: apache2

/var/www/index.html:
  file:
    - managed
    - source: salt://apache/index.html
    - template: jinja
    - context:
      custom_var: "override"
Шаблоны файлов пишутся на "jinja, mako, and wempy". Первый, кажется, популярный:
Blah, blah
{{ custom_var }}
{{ grains['fqdn'] }}
{{ salt['network.ip_addrs']('eth0')[0] }}

Итого: Хорошо. Только что молодость, но этот недостаток проходит.

Общий итог

Понятное дело, я только по верхушкам пробежался — но надо итог какой-то писать. Кто самый-самый, кого брать-то? А нету самого-самого, каждому своё. Как с системами контроля версий: кто-то нахваливает git, кто-то svn, кто-то bzr. Но что бы вы не выбрали — это лучше, чем не использовать ничего.

Кстати, необязательно брать из списка. Может быть, вам надо управлять машинами на Windows. Или вы обязательно хотите, чтобы на управляемую машину не ставить ничего, кроме ssh. Или чтобы скрипты были непременно на lua. Реально, выбор широк: очень может быть, что для вас ansible или bcfg2 окажутся тем, "что доктор прописал".

Если никак не можете определиться — начните с Puppet. Он популярный и лёгкий на подъём. Если с ним будут проблемы, то могу биться об заклад что вы будете не первыми с этой проблемой — и гугль поможет с решениями.

2012-10-01

FTL: Faster Than Light

Если вы всё ещё не попробовали FTL, попробуйте. Не могу приложить сильно крутой скриншот: все скриншоты FTL получаются приблизительно такими:

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

Плюс сюжет. Из маленьких кусочков сюжета на манер калейдоскопа возникает история: каждый раз разная, и каждый раз знакомая. Игра дивно напоминает всё, что мы любили в юности: и Elite, и X-Com, и Star Control 2. При этом не является клоном ничего из выше перечисленного. Просто играет на тех же чувствах. Авторы называют её "космическим рогаликом", и небезосновательно: на ADOM она тоже похожа. Для невнимательных: roguelike значит permadeath и только одно сохранение (в нашем случае это Esc → save+quit, а то, как оказалось, не все нашли).

Игра не требует уймы времени: напротив, активно сопротивляется желанию "урыться" на неделю реального времени. Для людей, не желающих увольняться с работы, это несомненный плюс. Быстрее-быстрее, сзади всегда догоняют, впереди всегда неизвестность и рандом. Сохраниться и попробовать сражение ещё раз - это надо жульничать с сохранённой игрой и вообще неспортивно. В таких условиях сектор пролетается за пять минут плюс-минус немного. При таком формате развлечения игра просится на планшеты и телефоны, но пока нет. Зато есть на всех "больших" ОС: Win/Lin/Mac.

Есть и недостатки, разумеется. Например, фиксированное разрешение (1280x720) и использование в некоторых местах шрифта 6x6. Кажется, того же, что был на ZX Spectrum. Знать английский язык тоже необходимо, иначе всё пропустите и от драмы останется "1. убить старушку [+317.6руб] 2. уйти". Про локализации разработчики отвечают уклончиво: надо переводить много тысяч случайных событий.

Покупать лучше на официальном сайте — там под все платформы. Есть и на GOG, и в Steam — но там, как я понимаю, только windows.

Не совсем очевидные вещи (как оказалось):

  1. по esc вылезает игровое меню, и там есть кнопка save+quit. Двое моих знакомых подумали было, что игру надо проходить за один присест.
  2. по пробелу - активная пауза, то есть в любом аду можно остановиться, как следует подумать и раздать указания.

2012-07-09

Дайте денег на восстановление храма

Автор ADOM-а собирает деньги на продолжение разработки: http://www.indiegogo.com/resurrect-adom-development.

2011-12-25

Некоторая движуха наблюдается также в Google+. Закругляйте: http://gplus.to/vnaum, длинный урл.

камеры на избирательных участках

Кажется, на президентских выборах какая-то заметная часть избирательных участков будет оборудована вёб-камерами. Обойдётся это в 15 миллиардов рублей, и деньги уже, можно считать, потрачены. По моему мнению можно бы эти расходы сократить на порядок (см. ниже) - но это обсуждать уже поздно. Надо думать

как с наибольшим толком воспользоваться этим делом

Ну начнём с того что просто сидеть и смотреть на картинку 12 часов - совершенно бесполезно. Никому ничего это не докажет, да и не высидит никто столько. Чтобы из этого сделать улики/алиби, надо полученное видео оформлять в виде, на который можно 1. ссылаться, 2. распространять и 3. проверять подлинность полученной копии.

Можно ли пункты 1. и 2. выполнить без петабайтных датацентров и интернет-каналов толщиною с ногу? Можно, и мы тут все знаем как: http://thepiratebay.org и http://rutracker.org распространяют миллионы часов цифрового видео без заметных усилий.

Можно ли выполнить пункт 3? Да, и многие из нас уже это делали: цифровая подпись, PGP/GPG.

Что может сделать один человек

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

Что можно сделать относительно небольшими усилиями

Небольшие усилия - это один-два толковых программиста, или небольшая контора. Можно сделать сайт, который распределит участки между добровольцами и (при наличии достаточного количества участников) обеспечит некоторую избыточность: скажем, каждый участник проекта пишет видео с трёх участков, каждый избирательный участок пишется тремя участниками проекта. Это позволит отсечь случаи с "сгорел блок питания" и "отпал интернет". Хорошо бы свой torrent-трекер и базу торрентов с возможностью поиска, но это уже лоск: в принципе достаточно будет какого-то хештега и "хороших" имён файлов - тогда поиск нам сделают и гугль с твиттером.

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

Особая синергия может случиться от взаимодейтсвия записывающих и наблюдателей на участке: например, наблюдатель может подойти под камеру и (не загораживая урны, разумеется) сказать местное время/место, а записывающий сможет позвонить наблюдателю и попросить убрать загораживающий обзор камеры стол (а что-то заставляет думать, что столы будут загораживать камерам обзор...).

Короче, не сильно сложнее РосЯмы.

Кстати говоря, если делать так, то собственно интернет-каналы на каждом участке и не нужны: задача реалтайм-трансляции не стоит, можно просто присылать наблюдателя с ноутбуком. Выложить торрент и подпись можно и на самом тухлом GPRS, а на раздачу вставать уже завтра, в райцентре с толстым каналом. Если откинуть требование проверяемости времени съёмки, то собрать видео можно и на полностью "оффлайновом" участке. Это, ясный пень, вызовет обвниения в "снято на квартире".

Что это даст

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

2. сложнее: найти "карусельщиков", голосующих на разных участках.

Что не получится:

1. проконтролировать урны для голосования на дому. Ну, там вообще ничего не сделать.

2011-11-24

Прогресс в кино

2011-10-15

Как отличить правду от неправды

Для полной отдачи не только применяйте сами этот алгоритм,
но и обвиняйте в его применении вашего оппонента.

2011-10-07

The what? The Grail!

1. В Грозный прибыла чаша пророка Мухаммеда: http://www.vesti.ru/doc.html?id=575931

2. «Аллах даёт. Не знаю. Откуда-то берутся деньги», – заявил Кадыров. (http://www.gazeta.ru/news/lenta/2011/10/05/n_2039082.shtml)

Но мы-то знаем, что это Грааль привезли → во всех городах +5000 золота и +50% прироста населения.

2011-10-02

Google запретил пользоваться Яндексом!

По ЖЖ пришёл жир: Гугль запретил русским пользоваться Яндексом! 1, 2, 3, 4.

Патчик выглядит весьма убедительно. Некоторые горячие головы поспешили заявить, что Гугль испугался конкуренции от Яндекса и вообще — «план Даллеса в действии». А если проверить? Точно ли убрали диалог, точно ли только для России?

Вот дебиановская сборка chromium 13.0.782.220~r99552. В исходнике эта функция есть, дебиановского патча про неё нету — после распаковки и наложения всех патчей функция на месте. Прекрасно показывается диалог в русской локали:

То есть — не убрали.

ОК, это chromium. Может быть в chrome под windows что-то по-другому?

Попробовал в Virtualbox — не показывает ни в какой локали.

Ладно, может быть там винда русская или там я не очень чисто изображаю первый запуск. Потратил 12 центов, запустил в Америке инстанс AWS с американской windows, скачал с американского ip-шника американский хром: диалог с выбором на первом запуске — не показывает. То есть — не только для России.

Я уж не буду говорить о том что «запретили Яндекс» и «не показывают диалог выбора поисковика при первом запуске, всё прекрасно выбирается в диалоге с настройками» — это две большие разницы.

В любом случае, имеющиеся экспериментальные данные не подтверждает вывода "русских обижают". Функция есть, но она не делает того что ей приписывают. Почему-то.

Верно подметил т-щ segal: «Двадцать первый век превратился в семнадцатый — верить можно только тому, что видел своими глазами». И вот как тут рассуждать про Ливию с Египтом, если даже проверить то что проверяется за пять минут, и не надо учить язык, и не надо никуда лететь — и то лень?

2011-08-18

openvz -> lxc

Ага, ну вроде устаканилось, LXC завёлся. Контейнер перенёсся тупо rsync-ом (я заодно разношу разные VZ-шки на разные LV-разделы с одного общего) и правкой /etc/network/interfaces.

Трюка было два:

  1. надо было взять сам lxc из unstable (0.7.3-1 в testing не того, а 0.7.4.2-4 уже того) и
  2. настройка бриджа, блин. Как я не CCNA и кишков бриджинга не понимаю, провозился заметно. Всё-таки правильно в OpenVZ это упрятали внутрь за красивый vzctl.

Вот рабочая хаутушка: http://alfie.ist.org/blog/debian/lxc-and-nat-on-notebook.html

Зачем переезжал: при всей хорошести OpenVZ в mainline ядре его нету, и при всех недостатках LXC он там таки есть. А у меня видюшка теперь такая новая (PCI ID 8086:0112), что 2.6.32 уже не катит :-(

В связи с апгрейдом железа сапгрейдил и ОС, со squeeze до wheezy. Попал на самый bleeding edge - openvz с vserver уже выкинули, а lxc ещё толком не работает. Предстоят скучные и нудные разборки со всем этим хозяйством. This makes me a sad panda :-(

2011-06-26

Комментарии к http://galyonkin.com/2011/06/22/samizdatovskiy-avtor-prodal-knig-v-kindle-na-million-dollarov/:

> Книга – это книга, страницы, переплёт, запах, хруст когда вооооот так открываешь, прогулка по книжному, в конце концов.

Да и в игры лучше играть на улице. Запах мяча, хруст костей :-)

2011-06-20

windows update

Что, всё и правда так плохо? Из комментов http://bocharoff.livejournal.com/414907.html:

Она [Windows] лицемерно предлагает перегрузится сейчас или через 15 минут. И если за эти 15 минут никто не скажет "нах", она таки перегрузится :)

особенно когда оставил на ночь что-нибудь обсчитывать, а утром приходишь и начинаешь все с начала. Винда, видите ли, обновилась...

2011-04-04

Смартфон

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

Слава богу, спасло отключениие / включение базы от питания.

Роботы нас победят когда-нибудь.

2011-03-14

Неслыханная щедрость

Для тех, кто ещё пользуется ЖЖ или покупает бумажные книги — парочка подарочных сертификатов из последнего моего книжного привоза (для ЖЖ и для bolero.ru).

Читать бумажные книги после электронных — неудобно. Они норовят закрыться постоянно и не помнят текущую страницу.

2011-02-19

web2.0

Я написал твит про этот пост

2011-01-31

борьба с наркотиками

In Malaysia, as part of its campaign against drugs, the word "Morphin" is censored, by substituting or muting footage where the word is spoken (the phrase "It's morphin' time") or displayed onscreen, for fear that it could encourage children to become addicted with the uses of morphine.

Mighty Morphin Power Rangers на википедии

ИЗ ЕГИПЕТСКОГО АЛЬБОМА

Я в старом русском городке
Бродил с бутылкою в руке,
И всюду звали все меня,
Я был им каждому — родня.
Входил я в незнакомый дом,
И как обычно всё потом…
А вот в Египте всё не так.
Довел Египет Мубарак!

© 2000 Сергей АЛАДЖИКОВ / Красная Бурда

2011-01-13

0079:0011 DragonRise Inc, part 2

С помощью замечательного человека [info]spb_nick, которого я нашёл в жж, удалось запинать сабжевые джойстики до полного счастья. Точнее, это он с моей помощью их запинал. Осей стало две. Имеем полный набор решений для дома и офиса - патчи, пакеты с ядром (1, 2), отдельный исправляющий модуль (теоретически должен работать с любым 2.6 ядром), ну и шансы попасть в 2.6.38.

epic thread, где всё происходило.

Детали: usb hid устройства работают приблизительно так: они пуляют в порт отчёты (reports), которые получатель должен расшифровывать согласно тому что устройство про себя рассказало в дескрипторе (descriptor). И то, и другое можно посмотреть инструментами из проекта DIGImend. И вот этот вот дескриптор в устройстве писан левой ногою - лишь бы виндовой парсер парсил как надо. Ну а в линуксовом парсере ошибки, разумеется, другие — и чётность бага нарушается.

Для полного счастья осталось только протолкнуть патчик к SDL, чтобы отваливание устройства не влекло бы за собой таких фатальных последствий как сейчас — и будет нирвана.

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

А беспроводные джойстики, скажу я вам, это то ещё издевательство. Я купил по глупости, а оно стреляет на хамские 80 сантиметров. И вроде как так оно и должно — "для увеличения отойдите от телевизора и прочих источников бла-бла-бла". Вот же я дурачок, хочу джойстик использовать рядом с источниками электромагнитных волн. Нет бы выйти в чисто поле и там использовать. И что удивительно — лентяйка от телевизора стреляет в прямой видимости, вайфай сандалит до третьего этажа, с DECT-телефоном я вообще могу в магазин ходить. А джойстики — такой атас невыразимый.

Непонятно.

2010-12-28

twitter

Что-то последнее движуха перешла в twitter.
Видимо, лень писать много букв.

Для тех, кто ещё не в курсе:
Я в твиттере → https://twitter.com/vnaum, или RSS.

2010-12-12

31 мая задержано 170 человек: http://www.fontanka.ru/2010/06/01/014/

31 августа задержано 100 человек: http://www.pravda.com.ua/rus/news/2010/08/31/5347119/view_print/

31 октября задержано 113 человек: http://www.fontanka.ru/2010/10/31/055/

11 декабря задержано 70 человек: http://zyalt.livejournal.com/330396.html

Subscribe / RSS