Запрет на использование старых автомобилей.

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

А вот интересно, если я коллекционер раритетных автомобилей и все автомобили у меня старше 20 лет, или просто у меня очень хорошо отреставрированная тачка еще и тюнингованная. Что мне тогда делать? Учтет ли дума такие случаи.

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

Акадо. Спам или просьба пожертвования?

Когда снимал квартиру, у меня был выбор к кому подключиться: Домолан (домодедовский интернет) или Акадо. Посмотрел цены на Акадо и радостно позвонил. Мне пообещали приехать и все подключить абсолютно бесплатно и еще 2 месяца бесплатно пользоваться интернетом и телевидением. Правда за бесплатно придется заплатить 500 с копейками рублей, так как работа мастера не совсем бесплатная. Но меня арендатор квартиры попросила не тянуть кабелей и не отключать телевизионный кабель. Пришлось позвонить и отказаться от Акадо.

Спустя неделю они позвонили и поинтересовались когда приезжать? Я подумал, что они не отметили мой отказ и объяснил, что не надо меня подключать к Акадо. Спустя еще неделю они позвонили с того же номера испросили не хочу ли я подключиться к Акадо? Я опять отказался. Далее с интервалом 1-2 недели мне звонили в течении 3 месяцев. Я сначала мягко отказывался, а потом начал посылать их или просто класть трубку.

Недавно позвонили с другого номера. Когда представлялись я не расслышал название компании. Они поинтересовались каким провайдером я пользуюсь. Я спросил кто они и услышал: «Компания Акадо…» Дальше я просто положил трубку.

В общем создается впечатление, что их основная стратегия это задолбать людей звонками и подключить их любым способом, даже доплатив им. А дальше… Как я почитал на различных форумах, клиент будет платить даже при отключенном интернете, даже если он им не пользуется и даже если расторг договор. А если не будет, то они начнут опять доставать и судом угрожать. А если все таки клиент сможет от них отделаться, то они опять начинают звонить. Но вот им дозвониться нереально. Так что перед подключением задумайтесь и почитайте отзывы. Может лучше менее халявный но надежный интернет использовать?

Спам

Конторы, которые заказывают спам, часто не думают, каким клиентам он может быть доставлен. Я работаю в достаточно крупной компании в рунете. Как-то приходит письмо с предложением продвигать наш сайт. Вроде как у нас сайт красивый, а посещаемость маленькая. Как оказалось, такое письмо и гуглу приходило. Правда или нет, но мы решили пошутить над спамерами.

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

Потом позвонили и представились уже как наша компания и поинтересовались сколько будет стоить продвижение нашего сайта (посещаемость 10 миллионов в день) в поисковике гугл, сославшись, что гугл нам их посоветовал. Мужик пошел на попятную и сказал, что они продвижением сайтов не занимаются.

Альфабанк это не Сбербанк!

Два года назад искал банк, в котором можно сделать дебетовую карту. Я просто не люблю деньги хранить в наличке, а зарплату нам раньше платили по черному, в конвертах. Из всех банком без разговоров согласился мне сделать карту MasterCard только Альфабанк. Мне он очень понравился отсутствием очередей, вежливостью сотрудников и просто стилем. Несмотря на достаточно высокую стоимость карты (129 рублей в месяц) я ей пользуюсь уже 2 года. Проблем не было, а альфа-клик вообще уникальная по возможностям система.

Но вот сегодня пошел делать кредитную карту. В банке на Третьяковской действуют талоны с номерами. Охранник узнал есть ли у меня с собой карта банка (а у меня ее с собой не было) и дал мне талон. Те, у кого была карта и они помнили пинкод прошли быстрее меня. не смотря на то что пришли позже. В банк я зашел в 14:37. Вызвали к окошку меня в 15:20!!! В 15:25 у меня на руках уже была карта. Но не тут то было. У них началось обслуживание банкомата и никого не выпускали и не впускали. Так простояли мы до 15:45, пока одна тетка не полезла на выход с возмущениями. Ей сказали, чтоб она жалобу писала руководству. А тетка в ответ объяснила, что не хочет жалобу писать, а просто хочет уйти из банка. Инкассаторы посмеялись и решили все-таки всех пропустить. Вот так я провел сегодня больше часа в Альфабанке. Месяц назад я стоял в очереди в Сбербанк. Это заняло всего 15 минут. Я думал что очередь была большая и я потратил много времени.

Буду надеяться, что это случайность, и Альфабанк остался прежним. Так как по единичному случаю судить невозможно.

О пользе мышления.

Задумавшись на тему собственного восприятия мира и мышления, я пришел к выводу, что не так уж и много я мыслю. Большая часть моих идей, решений, поступков – уже были в моей жизни и каким-то образом осели в подсознании. А реально много ли мы думаем?

Ну вспомните свое первое свидание. Возможно это было волнительно и страшно. Вы не знали что делать и что делать если сделаете что-нибудь не так. И что не надо делать. Это был момент, когда вы думали. Но вы посоветовались с людьми опытными (сверстниками, взрослыми), они сказали вам что все просто и вы пошли в раздумьях. Как же просто? А ведь реально, первое свидание прошло, а дальше все стало понятно. И вы можете давать советы другим.

Вспомните как вы учились ездить на велосипеде, мотоцикле, машине, водить самолет, погружаться на подводной лодке, управлять космическим кораблем… Что-то не умеете? Представьте, что вы будете делать когда попадете на космический корабль? У вас не будет советчиков, инструкции, каких-то воспоминаний из жизни (шаблонов)… Вот тут вы и начнете думать.

А что же мы делаем, когда ищем улицу в городе, выбираем еду в меню, решаем задачу по тригонометрии в школе или вузе? Конечно думаете. Мозг работает. Но он не придумывает никаких решений. Он пользуется памятью и шаблонами в него заложенными. Ведь нас с детства учат запоминать сотни страниц информации, а потом по ключевым словам, вопросам выдавать заученное. Наш мозг – помойка, в которой есть место и истории, и химии, и математике, и анатомии и куче всего, чего нет в учебниках. Все, что мы делаем во второй раз, требует шаблона. И мы его с удовольствием ищем и даже находим.

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

Так как же мы обычно мыслим. Да очень просто. В пределах наших возможностей, в рамках заученных шаблонов, в нашей зоне комфортности. А зачем напрягаться, если уже кто-то это сделал и это можно использовать. Зачем задумываться. Все ведь точно знают, что земля стоит на трех китах, что она плоская… Так постепенно мы и привыкли использовать чужие знания, которые часто заводят в тупик. А выйти мы из него не может, так как шаблонов для этого нет, а думать уже и не умеем. Это как связка ключей. Чем их больше, тем больше вероятность, что какой-нибудь ключ подойдет к нужному замку, но подбирать нужно дольше. В большинстве случаев ключ не подходит, но виноват в этом оказываются замок, дверь, ключ — но не тот, кто открывает дверь. Или просто в этой ситуации, якобы, сделать было ничего нельзя.

Вот так мы обычно и пропускаем действительно важные и стоящие моменты и решения в нашей жизни. А социум думает, что мы становимся лучше, так как от своих сумасшедших мыслей отказываемся и начинаем поглощать и плеваться общими мыслями. И мы становимся как все – просто мясом в этом мире.

Активисты. Плюс или минус?

Есть у нас в подъезде один активист. Он – человек старой закалки, но очень уж деятельный. Начал собирать с жителей подъезда деньги по 500 рублей. Квартир в подъезде около 52, не все платят. Посадил на первый этаж консьержку. Платит ей около 5000 в месяц. Остальные деньги он кладет на книжку и по мере необходимости оттуда берет на нужды подъезда. На первом этаже расставил цветы, повесил зеркала, покрасил все. Теперь перестилает плитку (дом сдали пару лет назад). В принципе я не против консьержек, ремонта и прочей ерунды. Реально приятно зайти в чистый подъезд, подняться в чистом лифте, не бояться не закрыть дверь (так как на этаже тоже есть дверь). Но… Мы живем на 3-м этаже. Активист тоже. У нас 2 лифта. В среднем лифт идет 1-2 минуты. Но бывает, что один лифт не работает, а другой ездит где-то вверху. Я уже несколько раз стоял на первом этаже, среди цветов и ждал 15 минут лифта. Думал там останусь жить (надо посоветовать ему на этот случай диван там поставить). Дверь же на лестницу недавно оборудовали замком с магнитным ключом. А вот дверь на 3-м этаже закрыта. И любая попытка открыть ее приводит к возмущением этого активиста. К тому же там неудобный замок, который еще и заедает. Вот приходится вместо 1 минуты на преодоление 3-х этажей тратить 3-15 минут. Более того в случае чрезвычайной ситуации эту дверь в панике сложно будет открыть. Активист обладает отрицательным качеством, согласно которому есть его мнение и неправильное. Когда я пошел к нему и вежливо попытался договориться, он сказал, что это не обсуждается и закрыл дверь, мотивируя тем, что он сохранил в подъезде чистоту, а открыв дверь мы навлечем на себя толпу срущих людей, которые загадят всю площадку. В общем активист этот не нравится пол подъезду, но так как нет других, все тупо скидывают деньги и не спорят.

Гоп стоп страны (или подайте кто может)

Последнее время участились случай, когда какая-то страна выставляет другой стране счет за действия в прошлом. За войны, за неправильные деления территорий, за ошибки или намеренные действия правительства. Создается впечатление, что какая-нить страна-девочка-неудачница, которую в прошлом обидели, забила ножками, заныла и начала просить вернуть ей игрушку пятидесятилетней давности. Я всегда думал что политика – это такая же игра как и денди, только графика по-круче и карт побольше, но чтоб так тупо. С другой стороны я в политике не разбираюсь и возможно я не прав…

Пример который меня совсем добил, это Молдавия. Новость звучала так: «Россия, как правопреемница Советского Союза, должна выплатить Молдавии в качестве компенсации за годы советской оккупации около 28 млрд долларов, подсчитала государственная комиссия по изучению и оценке тоталитарного коммунистического режима в Молдавии. За счет этой суммы Молдавия могла бы бесплатно потреблять российский газ в течение 85 лет, заявил на пресс-конференции в Кишиневе член комиссии, историк Вячеслав Стэвилэ.» А все из за чего началось? Владимир Путин резко пресек все разговоры о возможных скидках на российский газ. Вот почему эту Молдавию не стерли с лица земли когда-то? Пожалели… А вдруг пригодиться.

Так же Россия оказалась должна Латвии, Литве, Эстонии, Ирану и Афганистану. Ну самая гопота собралась. «Слыш пацан, десять копеек не найдется? … А если проверю… А попрыгай…». Мне одному кажется в рамках этих долгов, что Америка должна вернуть индейцам всю территорию и компенсировать ущерб, Германия должна возместить всю стоимость мировой войны, кстати Франция тоже должна за Наполеона, а так же мне должен одноклассник, который в детстве забрал у меня карандаш, так как был сильнее и наглее (с учетом процентов уже тыщ 20 наверное). А если вспомнить всю историю… Вот ко мне приставал одно время один и тот же гопник, пока ему в морду не дал, не успокоился. Правда через месяц я его увидел со сломанной челюстью и всего в синяках, но упорно отстаивающего свои права на законные 10 копеек.

Вы тоже согласны, что Россия кому-то из них должна?

Генерация гео конфига для nginx

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

Немного о сетях.

Internet Protocol или IP (англ. internet protocol — межсетевой протокол) — маршрутизируемый сетевой протокол, протокол сетевого уровня семейства («стека») TCP/IP.  В современной сети Интернет используется IP четвёртой версии, также известный как IPv4. В протоколе IP этой версии каждому узлу сети ставится в соответствие IP-адрес длиной 4 октета (4 байта). При этом компьютеры в подсетях объединяются общими начальными битами адреса. Количество этих бит, общее для данной подсети, называется маской подсети (ранее использовалось деление пространства адресов по классам — A, B, C; класс сети определялся диапазоном значений старшего октета и определял число адресуемых узлов в данной сети, сейчас используется бесклассовая адресация). На вход мы получаем массив из двух элементов: сеть (например 192.168.1.0/31) и идентификатор. © Wikipedia

Требования на входе:

  • Данными могут быть только подсети в правильном cidr формате.
  • Отсортированы в порядке возрастания (при использовании базы данных это не сложно).

Требования на выходе: отсортированный список непересекающихся диапазонов в файле минимального размера. Формат: начальный адрес подсети – конечный адрес идентификатор (192.168.1.1-192.168.1.126 336).

nginx ищет соответствие определенного ip адреса и диапазонов из файла. Возвращает идентификатор.

Для начала загружаем массив сетей из базы:

my $in = $dbh->selectall_arrayref('select net, geo from locations order by net'));

Так же не забываем в начале объявить переменные:

my $last;

И открыть файл для записи.

open TARGET_BIG, ">", $file_name;

Отдаем все функции перебора сетей:

sub main_stack {
  my $IN = shift;
  my $S = [];
  my $item;
  my $LB = 0; # Крайняя левая граница
  for my $item ( @$IN ) {
    unless ( $item->[2] ) {
      my ( $ip, $mask ) = split /\//, $item->[0];
      my $st = str2dw( $ip ) & ( ( 2**$mask - 1 ) << ( 32 - $mask ) );
      $item->[2] = [ $st, $st + 2**( 32-$mask ) - 1 ];
    }
    while ( @$S ) {
      $S->[0][2][0] = $LB;
      my $c = split_ip( $S->[0], $item );
      # нет правой части.
      unless ( $c->[2] ) {
        shift @$S;
      }
      # Эта часть для сохранения в файл
      if ( $c->[0] ) {
        save_range( $c->[0] );
        $LB = $c->[0][2][1] + 1;
      }
      if ( $c->[1] ) {
        unshift @$S, $c->[1];
        last;
      }
    }
    unless ( @$S > 0 ) {
      unshift @$S, $item;
      $LB = $item->[2][0];
    }
  }
  # Ограничиваем слева оставшиеся данные из стэка
  # Дописываем содержимое стэка
  while (my $item = shift @$S) {
    save_range( [ undef, $item->[1], [ $LB, $item->[2][1] ] ] );
    $LB = $item->[2][1] + 1;
  }
  # Досохраняем последний элемент
  save_range( [ undef,0, [0, 0] ] );
}

Эта функция сохраняет диапазон

sub save_range {
  # Если пришел соседний диапазон с тем же id, то просто суммируем
  if ( $last ) {
    if ( $last->[1] eq $_[0]->[1] && $last->[2][1] + 1 == $_[0]->[2][0] ) {
      $last->[2][1] = $_[0]->[2][1];
    }
    print TARGET_BIG dw2str( $last->[2][0] ) . '-' . dw2str( $last->[2][1] ),
      "\t", $last->[1], ";\n" if $last->[1];
  }
  $last = [ undef, $_[0]->[1], [ $_[0]->[2][0], $_[0]->[2][1] ] ];
}

Для разбиения переданного диапазона используем следующий алгоритм

sub split_ip {
  my $c = [];
  if ( $_[1]->[2][0] > $_[0]->[2][1] ) {
    $c->[0] = [ undef, $_[0]->[1], $_[0]->[2] ];
  } else {
    $c->[0] = [ undef, $_[0]->[1], [ $_[0]->[2][0], $_[1]->[2][0] - 1 ] ]
      if $_[1]->[2][0] > $_[0]->[2][0];
    $c->[1] = [ undef, $_[1]->[1], $_[1]->[2] ];
    $c->[2] = [ undef, $_[0]->[1], [ $_[1]->[2][1] + 1, $_[0]->[2][1] ] ]
      if $_[1]->[2][1] < $_[0]->[2][1];
  }
  return $c;
}

Вспомогательные функции конвертирования ip

sub str2dw {
  return unpack 'N',pack( 'C4',split /\./, shift );
}

sub dw2str {
  return join '.', unpack 'C4', pack 'N',shift;
}

На вход подаю 10 000 000 диапазонов. Скрипт отрабатывает около 5 минут. Из них полтары минуты данные загружаются из базы. Количество занимаемой памяти зависит от количества переданных сетей, сам алгоритм практически не использует память.

Работа в Макдоналдсе.

Работа в Макдоналдсе для многих – это ацкий труд за маленькие деньги.

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

До обучения нас предупредили, что работа не легкая, что отдохнуть будет некогда. Уже на второй или третий день обучения половина новичков не вышла. А я проработал там полтора года. А друг и того больше. Он дослужился до ассистента.

Что же особенного в Макдоналдсе?

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

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

Цепочка, которую проходит продукт достаточно длинная. Каждый в ней делает свое дело. Это практически идеальный конвейер. Для обычного работника не надо быть сильно умным или быстрым. Обычных способностей достаточно. Не берут туда лишь совсем неадекватных.

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

Многие боятся, что их увидят знакомые. Ну в Москве можно выбрать Макдоналдс в другом районе. А если ты так зависим от мнения окружающих и такой понтовый, то зачем тебе в Макдоналдс? Эта идея вообще не для тебя. Иди сразу директором в майкрософт или открывай свой бизнес.

А для обычного студента это нормальная подработка. Тем более, график гибкий. Да и многие богатые люди начинали свою карьеру в Макдоналдс.

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

Кто в семье главный?

Давно уже задался вопросом: «Кто в семье главный?». Ответ традиционно: «мужик». Но вот недавно появился новый вопрос: «А какие обязанности у главного?».

За несколько лет самостоятельной жизни я привык к работе по дому, к зарабатыванию денег и даже кота завел. Но с котом меня надолго не хватило, поэтому живет (я надеюсь на это) пока у сестры. Так же я встречал различных людей с различными интересами и с разными взглядами на жизнь, семью и на превосходство в семье. Скажете: «Вот удивил… Все разные.»

А вот и не во всем. В итоге можно разделить семейные пары на несколько категорий:

  1. Глава семьи мужик.
  2. Глава семьи жена.
  3. Оба принимают решения.
  4. Оба пассивные.

Представители первой группы – наиболее успешные. Причем в них глава семьи в прямом смысле – глава. Но их я встречал меньше всего.

Во вторую группу я отношу и тех кто сознательно определился, что жена главная и тех кто думает, что муж главный, а заправляет жена. «Я сказал мы едем на футбол, значит на футбол! Дорогой а может к маме. Я сказал к маме, значит к маме!». В этой группе все достаточно стабильно. Нет особых терок, все живут на стабильную зарплату и нет ничего интересного.

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

Четвертая группа для меня загадка. Я знаю что такие есть, но лично не знаком.

В целом, если один – дурак, то ему лучше не быть у власти. Но именно такие люди и думают, что они главные. Хотя по сути решения принять нормального не могут. Большинство мужиков от природы более решительны. И больше рискуют. Женщины же менее склонны к риску и более эмоциональны. В идеале мужик должен принимать решение, а женщина быть сдерживающим фактором. Так как важное решение в порыве эмоций как и при избытке адреналина невозможно принять.

Но мир меняется и женщины рвутся к власти. И рвутся не потому что хотят этой власти (ИМХО), а потому что мужики лежат на диванах и не хотят ничего делать. Только твердят о своей важности. Выпить пива, бухнуть водки, посмотреть футбол – все это бесспорно важно, иначе в чем смысл жизни? А откуда это? Воспитали так. Посмотрите на современных женщин… Не тех кто у власти, а на обычных. Я часто вижу как женщина матом объясняет пятилетнему ребенку, что он не прав и при этом пиво глушит и сигарету изо рта не выпускает. Как вы думаете, сын такой женщины будет реально что-то из себя представлять и уважительно относится к женщинам?

Как правило, почти каждый из нас смотря сказку о плохом и хорошем, где хорошее побеждает, ассоциирует себя с этим хорошим. И здесь, я думаю, все вспомнили случаи из метро, на улице, у подъездов, но никто не увидел в перечисленных выше персонажах себя.

Так что же должен делать глава семьи? Принимать решения. Управлять. Брать ответственность. Совершенствовать семью. Не тот глава семьи, кто применяет физическую силу или требует жрать, секса, шубку, отдых, футбол, пива, водки или кофе в постель. А тот кто способен сохранить в семье хорошие отношения, воспитать нормальных детей и не злиться на жизнь и на другиз за зря прожитую по своей же вине жизнь.