27 декабря 2016 г.

Законы открываются, а не придумываются произвольно

Государственные постановления не могут быть законами по определению. Сегодня чиновник хочет, чтобы все носили красные штаны, завтра — чтобы зеленые. Это не закон, а приказ.

Законы бывают физические или, например, экономические. Если парламент объявит всеобщую обязательную постройку Великого Вечного Двигателя, то на физические законы это не повлияет. Можно чем угодно стимулировать строителей этого двигателя, но закон сохранения энергии они побороть не смогут.
Точно так же и с экономическими законами. Великий вождь приказом объявляет, что теперь социализм, но тут вдруг на пути его реализации встает субъективная стоимость, а вместе с ней невозможность экономического расчета. Можно сгноить сколько угодно людей в лагерях, расстреливать пачками, ничего не изменится, это ж закон.

Государственный "закон" порождает то, что называется правовым позитивизмом. Это когда нормы права не исходят из базового права собственности на себя, а диктуются текущей сиюминутной ситуацией (желанием правой пятки чиновника). Отсюда же появляется и огромный класс так называемых преступлений без потерпевшего.

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

  • нет потерпевшего при добровольном согласии на участие в боях без правил;
  • нет потерпевших в казино, все туда приходят добровольно;
  • нет потерпевшей стороны в отношениях между проституткой и клиентом;
  • нет потерпевшего при эвтаназии;
  • нет потерпевшего при использовании в рассчетах денег, выпускаемых не центральным банком;
  • нет жертвы при "незаконном" хранении оружия самообороны;
  • нет ее и при культивировании и курении одного запрещенного растения (из которого можно, кстати, производить бумагу, веревки и ткани, не вырубая драгоценные леса).

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

20 декабря 2016 г.

Домашняя сеть

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

Настало время рассказать о том, как я устраивал свою домашнюю сеть.

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

В самом начале, еще до возведения стен внутри жилища, по проекту мы обозначили, что наличие сетевых розеток в квартире обязательно. Наметили 6 штук:
  •  по одной в местах, где предполагалось быть телевизорам;
  •  по одной в местах, где должны стоять рабочие столы для меня и супруги;
  •  и еще одна в коридоре, которая предполагалась для подключения роутера.
По итогам в стенах было проложено около 50 метров сетевого кабеля, концы которого смыкались в распределительной коробке, которая находится в коридоре. Сетевой кабель до квартиры в конце ремонта также был спрятан и выглядывал снаружи в подъезде в ожидании подключения.

Розетки вышли загляденье:

Настал день подключения. Совершенно неожиданно оказалось, что провайдер (A-NET, рекомендую) проводит оптику прямо до квартиры, так что сетевой кабель, выглядывающий в подъезд, оказался не у дел.
Подключили, все прекрасно, провайдер предоставляет оптический роутер. Проблема была только в том, что он был без Wi-Fi, поэтому пришлось городить паровозик из оптического роутера провайдера и обычного роутера, который к нему подключается по витой паре.
Так выглядит оптический роутер (правильно называть его "ONT-терминал") и подключенный к нему оптоволоконный кабель:

Итак, два отдельных сетевых устройства, выполняющих одну функцию. Выглядит не очень-то элегантно, правда? Поэтому срочно на Али был заказан такой же ONT-терминал, но с вайфаем. DHL доставил его от китаёзы за 5 дней.
Слева — мой, справа — терминал провайдера:
Теперь нужно было его подключить. Для того, чтобы это сделать, необходимо позвонить в саппорт провайдера (по-русски там говорят довольно хорошо), где технический специалист изменит настройки OLT (оптического сетевого распределителя, от которого и идут по квартирам оптические кабели), чтобы вписать серийный номер нового девайса ONT, иначе ваше устройство не зарегистрируется в сети. Мне кажется, я единственный пользователь в Батуми, который менял стандартное оборудование.
Операционная:
Та-да! Интернет с вайфаем есть. Неуклюжая связка TP-Link и провайдерского роутера покидает сцену. Настала очередь сетевых кабелей.
Обжимаю концы в распределительной коробке:
Обжимаю сетевые розетки:
В коробке также имеется и электрокабель, подключаю к нему напрямую блок питания роутера и тем самым освобождаю розетку в коридоре.

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

24 мая 2016 г.

Да мне без разницы, гей-активист ты или ярый гомофоб

«Легализация» однополых браков — один из ярких примеров бесцельного расширения госаппарата. Чиновничий институт брака вообще не нужен. Зачем вам справка от левого человека (он вам даже не родственник) о том, что вы находитесь в отношениях? Это частное дело и никакой чиновник своими грязными ручками не должен в него влезать.

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

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

И только либертарианцы последовательно защищают свободу.

20 декабря 2015 г.

Распределенный рендеринг сцен в Blender

Периодически запускаю Blender для 3D моделирования. Пока я, конечно, еще совсем зеленый, до супруги мне далеко.
Больше всего мне, равно как и любому пользователю блендера без NVIDIA, не нравится ждать, пока сцена медленно отрендерится на CPU или OpenCL. Само собой, мне хочется утилизировать все процессорные мощности, имеющиеся под рукой.

Блендер из коробки не поддерживает распределенный сетевой рендеринг. Поэтому я написал свою реализацию этого функционала. Встречайте eager-rendering.

В пакете имеются два файла: шелл-скрипт и питон-скрипт. Шелл-скрипт, собственно, занимается управлением процессами и распределяет задачи по хостам. Питоновый используется внутренним интерпретатором блендера во время рендеринга.
Сам рендеринг производится частями. Скрипт разбивает сцену на 64 тайла. Серия тайлов рендерится на первой свободной локальной или удаленной машине. Принцип работы следующий:
  1. eager.sh после запуска создает на локальной и удаленных машинах временные директории, куда будут складываться отрендеренные тайлы.
  2. Монтирует по sshfs временную директорию удаленного сервера.
  3. Генерирует номера начального и конечного тайлов с определенным шагом и запускает рендеринг на первой машине из списка хостов, который включает и локальную машину.
  4. Ждет, пока локальная или удаленная машина отрендерит серию тайлов, отсылает следующую серию тайлов первой освободившейся машине, повторяет пока не опустошит массив тайлов.
  5. Перекидывает отрендеренные тайлы с удаленных машин на локальную.
  6. Склеивает все тайлы в финальное изображение с помощью магии ImageMagick.
Как это выглядит в жизни:



Что планируется в будущем:
  • поддержка более одного удаленного хоста;
  • определение наличия GPU, патчинг blend-файла и запуск дополнительного процесса рендеринга на GPU;
  • приоритеты машин (более мощные / менее мощные);
  • определение сложности тайла для отправки его соответствующей машине;
  • автоматическая подстройка количества тайлов в серии в зависимости от приоритета.