FastNetMon

Tuesday, 29 January 2013

Создание сервиса, который бы переживал смену IP адреса хост машины и продолжал работать

Крайне нетривиальный материал обнаружил на IBM Developer Works, прошу: http://www.ibm.com/developerworks/ru/library/cl-vmclonerrors/index.html?ca=drs-

Научите ребенка программированию: Python for Kids: A Playful Introduction to Programming

Очень внятное и красивое описание причин конечности скорости света

Существует множество простых, интуитивных объяснений этого вопроса… но, по-моему, они все довольно отстойные. Можно погуглить немного и найти дискуссии о чëм-то, что называется “релятивистской массой”, и как она требует больше энергии, чтоб разогнать объект, который уже двигается на высокой скорости. Это почтенный способ интерпретации специальной теории относительности, но мне кажется, что он излишне запутывающий и неочевидный для студента, который только чуть замочил свои ноги в океане современной физики. Из-за этого вселенная кажется гораздо менее поразительным местом, совсем не такой, какой она есть на самом деле, и меня это возмущает.

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

Сначала давайте поговорим о направлениях, просто чтобы сориентироваться. “Вниз” – это направление. Оно определяется как направление, в котором падают вещи, когда вы их роняете. “Вверх” – это тоже направление, противоположное к “вниз”. Если у вас есть под руками компас, мы можем определить дополнительные направления: на север, на юг, на запад и на восток. Эти направления определяются в терминах относительно чего-либо – того, что мы в своей среде называем “ортонормальным базисом”, – но забудем пока об этом. Давайте представим, что эти 6 направлений абсолютны, потому что для нашей текущей задачи они вполне могли бы быть такими.

Теперь я прошу вас вообразить еще два направления: “в будущее” и “в прошлое”. Очевидно, что эти направления нельзя показать, но представить их себе должно быть не очень тяжёло. Будущее – это направление, где лежит завтра, а прошлое – это направление, где лежит вчера.

Эти восемь направлений вместе – вверх, вниз, на север, юг, запад, восток, в будущее и в прошлое – описывают фундаментальную геометрию вселенной. Каждую пару направлений мы называем “измерением”, так что мы живём во вселенной с четырьмя измерениями. Другой термин для описания четырëхмерности вселенной -это “пространство-время”. Я попытаюсь избегать использования этого термина, но если вдруг он проскользнёт, то знайте, что в данном контексте “пространство-время” - это просто “вселенная”.

Итак, это сцена. Давайте посмотрим на игроков.

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

Представьте себе, что вы находитесь в вагоне поезда, и на окнах опущены шторы, так, что вы не можете посмотреть наружу. Давайте еще представим (для простоты), что рельсы и колёса настолько безупречны, что вы совершенно не можете чувствовать, находитесь ли вы в движении. Если бы вы посмотрели в окно – вы бы либо увидели постоянный ландшафт, либо проносящийся мимо вас. Но с опущенными шторами это невозможно, так что вы на самом деле не можете понять, двигаетесь ли вы.

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

В нашей метафоре вагон поезда – это всё, что вы видите вокруг себя во вселенной, – ваш дом, ваш ручной ёж Ерëма, самые далёкие звёзды в небе, всё вместе. И “следующая станция” – это завтра.

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

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

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

Но сейчас мы всё починим, потому что дальше вам придётся напрячь своё воображение.

Представьте, что вы двигаетесь в машине и случается нечто ужасное: ваши тормоза отказывают. По невообразимой случайности педаль газа и ручка переключения передач намертво заедают. Вы не можете ни разогнаться, ни затормозить. Единственная вещь, которая работает – это руль. Вы можете поворачивать, изменять направление, но не можете изменить свою скорость.

Конечно, первое, что вы делаете – это поворот во что-то мягкое, что может помочь остановить машину. Но давайте проигнорируем это и сфокусируемся на специфических характеристиках вашей поломанной машины. Вы можете изменить направление, но не можете изменить свою скорость.

Это – то, как вы двигаетесь сквозь вселенную. У вас есть руль, но нет педали газа. Когда вы сидите дома и отдыхаете, на самом деле вы мчитесь в будущее на максимальной скорости. Когда вы встаёте, чтоб включить чайник, вы изменяете направление своего движения через пространство-время, но не скорость этого движения. Так что как только вы двигаетесь через пространство чуть быстрее, через время вы двигаетесь чуть медленнее.

Вы можете визуализировать это парой осей, нарисованных на бумаге. Ось, которая идёт сверху вниз, изображает время, а верх указывает в будущее. Горизонтальная ось изображает пространство. Мы оцениваем только одно измерение пространства, потому что у листка бумаги всего два измерения и мы уже все использовали, но просто держите в уме, что эта идея применяется ко всем трём измерениям пространства.

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

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

Это и есть источник известного эффекта “замедления времени”, о котором все говорят во время обсуждений специальной теории относительности. Если вы двигаетесь сквозь пространство, то вы не двигаетесь сквозь время так же быстро, как если бы вы сидели на месте. Ваши часы будут идти медленнее, чем у человека, который не двигается.

Это так же показывает, почему фраза “быстрее света” не имеет значения в нашей вселенной. Смотрите, что происходит, когда вы хотите двигаться сквозь пространство так быстро, как только возможно? Очевидно, вы поворачиваете стрелку – вашу четыре-скорость – пока она не будет указывать строго вдоль горизонтальной линии. Но подождите. Стрелка не может растягиваться, помните? Она может только поворачиваться. Так что вы увеличили вашу скорость сквозь пространство настолько, насколько только возможно. Двигаться быстрее уже не получится. Стрелку больше некуда повернуть, чтоб она показывала в еще более горизонтальном направлении, она и так уже горизонтальнее некуда. Это не очень осмысленно – думать о чём-то более горизонтальном, чем горизонтальное. В таком свете вся идея будет выглядеть довольно бестолковой. Либо стрелка показывает строго направо, либо нет, и как только она показывает, прямее её сделать нельзя. Она и так прямая, насколько только возможно.

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

Приступим к неувязкам. Почему векторы четыре-скорости могут только поворачиваться, но не растягиваться или сжиматься? На этот вопрос есть ответ, и он имеет отношение к инвариантности скорости света. Но я и так уже достаточно написала, так что это останется на следующий раз. А пока вам придётся просто верить, что это так, потому что это так, и в этом случае вы будете лишь немного менее информированы о теме, чем самые замечательные физики, жившие на свете.

Добавлено: в комментариях развернулась дискуссия, которая больше погружается в детали геометрии простраства-времени. Упрощённая модель, которую я тут нарисовала, использовала Эвклидову геометрию. В реальной жизни геометрия вселенной – Минковского, и вращения эти гиперболические. Я предпочла опустить детали, чтоб не усложнять и так не самую простую концепцию еще больше, но как некоторые указывают, неупоминание этого может явиться медвежьей услугой. Можете почитать больше в комментариях.

Первоисточник: http://www.reddit.com/r/askscience/comments/fjwkh/why_exactly_can_nothing_go_faster_than_the_speed/c1gh4x7 за перевод спасибо: http://solovyov.net/blog/2011/nothing-faster-than-light/

Monday, 28 January 2013

How to compress qcow2 to compressed qcow2?

Be aware! Do not forget stop container! Running this commands on running container is strongly prohibited! 


Example:
qemu-img convert  source_not_compressed_qcow2.img -O qcow2 -c  target_compressed_qcow2.img

Before:
ls -la source_not_compressed_qcow2.img
-rw------- 1 root root 1,5G Янв 28 06:37 source_not_compressed_qcow2.img

After:
ls -la target_compressed_qcow2.img
-rw-r--r-- 1 root root 578M Янв 28 06:54 target_compressed_qcow2.img
In my tests qcow2 with compression is very-very-very slow! 

Sunday, 27 January 2013

Деньги — барометр состояния общества

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

Айн Рэнд, Атлант расправил плечи.

Thursday, 24 January 2013

Cron, CentOS и проблемы с часовым поясом (timezone)

К сожалению, предположение оказалось неверным, на следующую ночь  cron также запустился со смещением.


Итак, имеем сервер, у которого стоит московский часовой пояс:
date
Чтв Янв 24 11:07:06 MSK 2013

ls -la /etc/localtime
lrwxrwxrwx 1 root root 33 Янв 23 21:34 /etc/localtime -> /usr/share/zoneinfo/Europe/Moscow




Имеем cron задачу на 2 часа ночи:

cat /etc/cron.d/ovznodes_backup
0 2 * * * root /usr/bin/ovznodes_backup.pl


Но на деле, эта задача запускается в 5 утра:

cat /var/log/cron|grep backup
Jan 24 05:00:01 ovz31 crond[786668]: (root) CMD (/usr/bin/ovznodes_backup.pl)
В чем может быть причина? Причина в /etc/sysconfig/clock, в котором может быть указан неверный часовой пояс (Berlin в моем случае), чтобы избавиться от бага пропишите там следующие строки:
cat /etc/sysconfig/clock
ZONE="Europe/Moscow" 
В обязательном порядке после этого надо перезапустить cron!

Wednesday, 23 January 2013

Script for analyze used disk space per file type

Source oneliner code (bash, perl): http://paste.org.ru/?cyndbk


Sample output for /usr/share folder on debian:
mo 37 %
gz 19 %
other 7 %
txt 5 %
pm 3 %
vim 3 %
pod 3 %

Tuesday, 22 January 2013

Черный список сайтов ГосКомНадзора, где взять листинг заблокированных ресурсов?

Совершенно случайно наткнулся на крайне полезный трижды зеркалированный ресурс:

https://sourceforge.net/p/z-i/code-0/
https://github.com/zapret-info/z-i/tree/
https://www.assembla.com/code/z-i/git/nodes
Спасибо тебе, человечище, огромное! :) Преимущество репозиториев в том, что видно не только текущий снимок, но и динамику (какие сайты добавлены / какие удалены).

Wednesday, 16 January 2013

Отличная статья про CDN

Фича для передачи IP клиента от рекурсивного DNS - edns-client-subnet

Рекомендую к прочтению все связанно с edns-client-subnet - это крайне грамотная и интересная фишка.

Важное замечание про указание путей в rsync excludes


if the pattern starts with a / then it is anchored to a particular spot in the hierarchy of files, other‐ wise it is matched against the end of the pathname. This is similar to a leading ^ in regular expressions. Thus "/foo" would match a name of "foo" at either the "root of the transfer" (for a global rule) or in the merge-file’s directory (for a per-directory rule). An unqualified "foo" would match a name of "foo" any‐ where in the tree because the algorithm is applied recursively from the top down; it behaves as if each path component gets a turn at being the end of the filename. Even the unanchored "sub/foo" would match at any point in the hierarchy where a "foo" was found within a directory named "sub". See the section on ANCHORING INCLUDE/EXCLUDE PATTERNS for a full discussion of how to specify a pattern that matches at the root of the transfer.
Суть в том, что если не указывать в excludes начальный слеш, совпадение будет не только с указанным компонентом, но и со вложенными папками, если такая будет внутри файловой иерархии!

Friday, 11 January 2013

Новая мегафича OpenVZ - изоляция страничного кэша

Вот: http://wiki.openvz.org/Page_cache_isolation

Это реально killer-фича! Не знаю пока, насколько это стабильно работает, но если работает - это крайне офигенная штука.