We rise up for the things we believe in over and over again

В работе администратора есть такая штука, как наблюдение за параметрами среды. Иными словами - контроль температуры, влажности воздуха в помещениях. Не буду расписывать, зачем это требуется, это очевидно. Речь о другом, как это делать.
В прошлом подобная задача уже поднималась, только наблюдали не за температурой, а за состоянием серверного хозяйства. Знаю, что стандартный Ping не есть исчерпывающий и достоверный показатель работоспособности сервисов (именно сервисов, не серверов), но для серверов этого хватает, чего и добивались. Теперь задача почти такая же - есть кучка теплодатчиков, за которыми надо присматривать. Вся проблема в том, что датчики эти разбросаны георгафически, а штатные методы наблюдения за ними предполагают открытие большого количества разных программ. Поскольку всякого рода следящих утилит открыто уже и так немало, хотелось бы данный беспорядок причесать. Отдельным недостатком всех этих консолей-мониторов является то, что они молчаливы. То есть, на экране-то они покажут. что есть проблема, но за всем на экране не уследишь. А вот если будет, скажем, писк, это точно привлечет внимание. Попробуем поступить так же, как в свое время и с серверами.
Известно, что эти теплодатчики всю информацию, которую накапливают, отдают наблюдающим консолям через протокол SNMP - Simple Network Management Protocol. Несколько раз с ним сталкивался в прошлом, и всякий раз убеждался, что слово Simple там явно лишнее. Однако, в этот раз деваться некуда, с датчиками можно общаться только посредством SNMP.
Начинаем ковырять предметную область в надежде подружить SNMP и ставший уже просто незаменимым Powershell. Результат плачевен - "из коробки" Powershell работать с SNMP не умеет. Вместо этого предлагается к покупке целый набор надстроек для "мощной ракушки", который обещает нужный функционал. Ключевое слово - покупка. Понятное дело, что никто просто так "космокредитами" не поделится. И тут взгляд цепляется за следующую ссылку: vwiki.co.uk/SNMP_and_PowerShell
Ключевым моментом является библиотека со всеми необходимыми функциями. И там же представлена обвязка на Powershell для вызова этих фукнций. Утаскиваем, настраиваем, проверяем. На входе подаем IP адрес и OID сенсора. На что консоль возвращает - таймаут. Что-то не так. А что там может быть не так? Разрешенные адреса, Community name, пожалуй и все. Стоп. А ведь Community name ведь и забито нестандартное. Немного поменяв одну из функций получаем требуемый результат: скрипт подцепился к указанному сенсору, считал его показания и вывел их на экран. Почти победа, почти - потому что теперь нужно написать обвязку для проверки всех сенсоров, но это уже мелочи жизни. Итогом стал скрипт примерно следующего содержания:

Традиционно, пара слов о том, как это все готовить.
Исходные данные скрипту подаются методом, сходным с предыдущим скриптом: в каталоге с файлом самого скрипта есть папка с простыми текстовыми файлами, в которых и описаны все сенсоры для обхода. Формат данных там вот такой:
IP,OID,Community,Name,MinValue,MaxValue
где IP - адрес сенсора в сети, OID - идентификатор этого же сенсора (именно они являются чуть ли не ядром всего SNMP), Community - имя "сообщества" - читай, логина, Name - отображаемое имя (пример: "Датчик температуры в комнате 1234"), MinValue и MaxValue - соответственно, минимальное и максимальное значение для показаний с данного сенсора.
Строк заголовков в текстовиках быть не должно, скрипт сам все поймет. Самих текстовиков в каталоге config может лежать сколько угодно.
Отдельно о каталоге Include. Там хранится та обвязка на Powershell, через которую вызываются функции стащенного DLL-файла. Обвязка эта выполнена в виде трех файлов, описывающих три разные фукции. Можно их все свести в отдельный файл, но мне показалось удобнее держать их так, разбитыми. Возможно, в дальнейшем я это мнение поменяю.
Изначально фукнции Invoke-SNMPGet и Invoke-SNMPWalk содержат в себе жестко прописанный параметр Community, равный стандартному public. Поскольку это далеко не всегда выполняется, требуется изменить эти фукнции так, чтобы они принимали параметр Community в качестве аргумента. Делается это просто:

меняется на

И, соответственно:

меняется на

Вот, пожалуй, и все.

@музыка: Within Temptation - Shot in the dark

@темы: PowerShell, Scripting

23:17

Picture spam

We rise up for the things we believe in over and over again
Вот занимаются некоторые пикспамом, а я что, хуже, что ли? :) Хотя я так, погулять вышел, до истинных мэтров этого занятия мне далеко.

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

@музыка: Что-то рандомное из подборки на телефоне. Кажись, "Свадьба"

@темы: Этот веселый мир

We rise up for the things we believe in over and over again
Просто без комментариев!


P.S. Минутка жести. Открываем статью о Hitman на вики, читаем:
Снайперское оружие:
...
Арбалет[7] Как ни странно, для этого оружия есть глушитель, хотя глушить в арбалете попросту нечего, а стрельба и так почти бесшумна.


Далее следует традиционный вопрос: Ыыы? :)))))

@настроение: :)

We rise up for the things we believe in over and over again
С мест сообщают (с) Goblin

oper.ru/news/read.php?t=1051615933

Более десятка продавцов и владельцев магазинов в стамбульском районе Аксарай попытались избить ирландского туриста кувейтского происхождения Мохаммеда Фаделя Доббуса. Причиной ссоры стала неаккуратно открытая туристом дверь уличного холодильника, из которого из-за рывка высыпались бутылки с водой. Окружающие продавцы в количестве примерно 15 человек накинулись на туриста с палками и стульями.

Однако Мохаммед Доббус ловко парировал удары и сам перешел в атаку, уложив по одному всех нападавших. Как выяснилось позже, Доббус является профессиональным боксером. Видео с дракой широко обсуждается в Турции, а Доббуса даже назвали "героем социальных медиа".

Лавочникам у нас дали возможность выступать в роли полицейских и сказали, что они мощны, как львы, - написал в своем Twitter популярный турецкий певец Атилла Таш. - Но, как видно, их сил не хватило против боксера.

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


Ну что я могу сказать. Рейд-группа из 15 человек не затащила одного рейд-босса :) Танки хреновые, раз босс пошел по всем членам группы, ДД - никакие, раз уложить не смогли. С бафферами и хилами, судя по всему, все совсем паскудно :D

@темы: Этот веселый мир

We rise up for the things we believe in over and over again
Deus Ex: Mankind Divided — дата релиза 23.02.2016. Клац!
С точки зрения русских игроков забавную дату они выбрали, ничего не скажешь. Что ж, ждем-с, очень ждем-с :)

12:23

Roskompozor

We rise up for the things we believe in over and over again

Делаем раз: www.3dnews.ru/919363
Делаем два: Поиск на vk.com
Вконтакт наконец-то можно забанить? ) Как минимум мобильные версии клиентов должны отвалиться точно, ибо HTTPS. Потому что вытирать все экземпляры этой песенки - упарятся. А народ еще и новых накидает, благодаря эффекту Стрейзанд.

Ну и как правильно замечено в комментариях на 3DNews: еще вчера я и слыхом не слыхивал об этой песне. Слава Роскомпозору!

@темы: Этот безумный мир, Security

We rise up for the things we believe in over and over again

Признаю - я отчаялся.
В свое время такое же отчаяние побудило добить Тетралогию Теней (так я называю упомянутый ранее Shadowmarch), читая книгу в оригинале третью и четвертую книги. Что ж, после долгих поисков принято окончательное решение о том, чтобы и "Сотню" так же "добить". Коли даже купить электронку на русском нельзя, втупую не продают ее, хотя в каталогах значится, придется обращаться к первоисточникам. Оный был найден буквально в пять минут.
А пока воевал с отправкой электронной копии на телефон и установкой словаря туда же, нарвался на весьма занятное поведение оного телефона при соединении с Windows. Вот в чем она проявляется:

Это то, что я вижу во встроенном файловом менеджере телефона. Собственно, папка программы Dictan (это и есть словарь).
А вот то, как тот же каталог (корень внутреннего диска телефона) виден в Форточках:

Папки словаря нет. Куда подевалась? А черт его знает, куда она подевалась, но она там есть, это факт. Разбираться пока что уже сил особых нет, спать пора. Но на будущее заметку оставлю, ибо интересно.
Но главное, черт побери, я наконец-то узнаю окончание трилогии "The 100". Давно пора было это сделать.

@музыка: Dead by April - Promise me

@темы: Этот безумный мир, Android

We rise up for the things we believe in over and over again

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

@музыка: Dead by April - Promise me

@темы: Music

08:16

Changes

We rise up for the things we believe in over and over again
На работе нововведение - таблички на дверях поменяли. Причем, как-то хитро их оформили:
Имярек
Департамент 234/3/1
(числа от балды)

Чувствешь себя заключенным. Полностью это чувство оформится в том случае, если вместо ФИО на табличках нарисуют табельные номера сотрудников.
Спрашивается - зачем?

@музыка: Silence

@темы: Этот безумный мир

We rise up for the things we believe in over and over again
Вот теперь точно можно сказать - Vengeance shall be mine!


@музыка: Battle.net sound player - SC:Zerg 1

@настроение: I am the Swarm!

16:34

Shadowmarch

We rise up for the things we believe in over and over again
Ну и чтобы разбавить негатив, кусочек из Shadowmarch, который в закладках уже черт-те сколько времени.
"But, Highness," he said in an agitated whisper, "there is no precedent for this!"
"Royalty makes its own precedents," laughed Dawet dan-Faar. "Briony begins her rule like a true queen. It is to be commended."
Nynor scowled. "There is no precedent for you, either, Master Dan-Faar. It seems to me that the last time we saw you, you were ransoming our king."
"It's true," Dawet said. "I am a busy man."


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

@музыка: Eleni Violaris - Song to the Earth

@темы: Этот веселый мир

We rise up for the things we believe in over and over again
Расскажу я вам, братцы-кролики, о том, как ведет себя означенная структура при расторжении договора.
Где-то в 20-х числах июля я все же закрыл договор с РТК. Проверил через личный кабинет, что никаких долгов нет, сдал оборудование, поставил свою подпись, где нужно, выматерился еще раз по поводу того, что эти "хорошие люди" даже документы не могут составить должным образом - неправильно вбили туда фамилию, читая ее с моей собственной заявки еще на подключение. И забыл о них.
Неделю назад приятный отдых прерывается СМСкой от РТК: "Парень, нам, того-самого, денег хочется. Подкинь-ка, а?"
You're trying my patience.

Опущу всю ту нецензурщину, которая у меня в голове пронеслась. Думаю, ладно, есть личный кабинет, посмотрю, что там и как. Открываю ЛК, вижу ожидаемое "У вас нет подключенных услуг". Следовательно, через инет это не исправить. Звоню прямо в абонентскую службу, с закономерным WTF. Девушка-оператор на том конце провода мне вполне доходчиво объясняет, откуда на уже закрытом договоре может взяться задолженность (с чем я впоследствие целиком и полностью согласился), а также говорит, что если нет желания ехать в офис продаж, погасить этот долг можно в любом терминале, который способен работать с услугами РТК. Только в качестве идентификатора надо вводить телефонный номер (этот номер, действительно, мне был присвоен при подключении). И все будет хорошо.

Окей, все понятно, ноги в руки и до ближайшего родного банкомата. Вставляем карту, выбираем оплату услуг РТК, вводим номер телефона... На выползшем чеке получаем "Неверная платежная информация". В адрес родного банка и его банкоматов можно много чего рассказать, это достойно отдельного поста. Сейчас не о них. На всякий случай пытаюсь выполнить операцию повторно, мало ли, нарвался на кратковременный сбой (бывает всякое в мире ИТ). Нет, результат тот же. Ладно, черт с тобой, дай мне наличку, пойду в терминал. На что банкомат выдает - не дам, "в настоящее время оперция невозможна".

@#$%$@@!!#%@#$#$... Ну вы поняли. Повторюсь, в адрес родного банка и его банкоматов... Ладно, дальше.

Неподалеку есть банкомат "конкурирующей фирмы". Ломлюсь туда, пытаюсь оплатить услуги РТК через него. Дважды. Результат - одна ошибка ввода пин-кода и одна ошибка "неверные платежные данные". Хрен с тобой, золотая рыбка, вытаскиваю из этого банкомата наличку и направляюсь к ближайшему Элекснету. Выбираю там РТК, ввожу телефонный номер... "Неверно указанные данные, продолжение операции невозможно".

RETRIBUTION WILL BE MINE!

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

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

Не знаю, вдруг сюда когда-нибудь забредет... ммм... лицо, имеющее отношение к РТК. Хочется сказать пару вещей.
1. Уважаемое, гм, лицо. Какого, извините, дьявола в момент расторжения договора до сих пор сразу, мать его, СРАЗУ!!! не рассчитывается сумма к оплате? Клиент может после расторжения договора забраться в такую глушь, что хрен вы его найдете, но пеню исправно будете начислять. За подобное в приличном обществе, как бы так помягче сказать, чистят рыло.
2. Пожалуйста, проведите аттестацию вашего персонала в колл-центрах. Очень прошу. Чтоб не дезинформировали население.

@музыка: Eleni Violaris - Song to the Earth

@настроение: Только @музыка помогает задавить вест тот гнев, который скопился.

@темы: Этот безумный мир

We rise up for the things we believe in over and over again

Вот тут пробежала ссылка на весьма и весьма приятную музыку - Eleni Violaris. Я, на самом деле, не шибко умею выражать свои чувства по поводу того, насколько сильно мне понравилось то или иное, ну не подвешен у меня язык. С другой стороны, тот факт, что эта запись вообще появилась, говорит в пользу творчества означенной барышни :)

А суть поста - архив, который отдал мне Pleer.com. Там в имени каждого трека значится ненавистное [pleer.com]. Поскольку у меня есть уже давно принятый стандарт именования треков в коллекции, надо от этого избавляться. For the Swarm!*
Имеем 11 треков. Для powershell bulk rename вообще не задача, тот способен тысячи объектов ворочать. Находясь в целевом каталоге с песенками даем стандартное:
get-childitem *.mp3 | rename-item -newname {$_.name -replace " [pleer.com]",""}

И... очень сильно удивляемся, почему это вместо требуемых имен получили кракозябы, чаще всего получаемые в случае чтения в Windows носителя, записанного в MacOS.
Поскольку имена файлов потеряны безвозвратно, заново распаковываем их из архива. Проверяем каталог, убеждаемся, что в имени каталога так же есть буквосочетание [pleer.com]. I'kill you myself!

Убираем ненужное, даем снова стандартную команду... Опять чертовщина, но уже из читаемых символов. Очень много думаем, где-то минуту, понимаем, что replace работает в режиме поиска регулярных выражений, а символы [ и ] в этом случае - маркеры. Придется экранировать. Mengsk will suffer!
get-childitem *.mp3 | rename-item -newname {$_.name -replace " \[pleer.com\]",""}

Хм... результат стал вполне ожидаемым, но это половина дела. Теперь еще желательно бы избавиться от имени исполнителя в начале каждого трека. Можно, конечно, дать вторую команду с поиском другой подстроки, однако, это не спортивно. Придется строить "конструкцию":
get-childitem *.mp3 | Rename-item -newname {($_.name -replace " \[pleer.com\]","").replace("Eleni Violaris - ","")}

Nothing can stop me!
--
* - фразы, выделенные оффтопом - для знающих и любящих SC1/2 :)

@музыка: Eleni Violaris - Song to the Earth

@темы: Music, PowerShell, Scripting

We rise up for the things we believe in over and over again


P.S. А шашлык удался. Равно как и отдых в целом. Почаще бы так.

13:31

Net

We rise up for the things we believe in over and over again
Это! Форменное! Издевательство! :)


Однако, закончено :)

@темы: Этот веселый мир

We rise up for the things we believe in over and over again

Есть такой замечательный ресурс - cxz.to, в прошлом - fs.to. Файловый развал, где можно найти практически все. В том числе и сериалы, которые, традиционно, качаются с Lostfilm. Да вот засада, лостфильмовцы опять поломали свою RSS-ленту. Результат предсказуем - автоматическая закачка через торренты сгнила на корню. А новья ведь хочется.
Каждый раз заходить на сайт, смотреть, вышло что-то новое или не вышло - да что вы! Администраторы - известные ленивцы.
Чем приглянулся fs.to (я его по привычке именно так зову) - своим удобством по отношению к клиентуре. Они мало того, что предоставляют прямые ссылки на файлы, так еще и в каждом сезоне каждого сериала кладут небольшой текстовичок со списком этих файлов. Как раз то, что нам и нужно. Поехали!

С какими приправами это готовить? Да все просто. Кладем скрипт куда угодно, рядом с ним создаем файл source.txt, в котором через запятую будут указаны ссылка на список файлов, которые надо качать, и место, куда это все нужно будет качать. Слэш в конце имени целевого каталога обязателен. Вот пример того, как туда был добавлен второй сезон сериала Extant:

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

Финальным аккордом будет являться занесение этого скрипта в планировщик. Тут уже полная свобода действий: запускать по расписанию, при логине, при старте системы - на вкус и цвет.

@музыка: Yandex Music - Amethystium

@темы: PowerShell, Scripting

We rise up for the things we believe in over and over again

Несмотря на все удобство десятки, есть в ней одна вещь, против которой до сих пор восстает все мое существо. В заголовке указано. Вот честно - эти плиточные приложения раздражают. И даже не дизайном, нет, с этим как раз все в порядке. Бесят они тем, что напрочь ломают привычные цепочки действий, заставляя в кои-то веки отвлекаться от работы на управление. А на домашнем компе в последние пару лет это уже очень большая редкость.
Суть проблемы - в качестве штатного антивиря используем MSE с аддоном Common Sence 2015 (хм... а может быть и наоборот). Задача - есть на флешке зловред в виде JS-файла. Зловред в ахриве с паролем, но стоит только его распаковать, MSE тут же отправляет распакованное в карантин. А там вариантов два - либо очистить окончательно какой-то один файл, либо грохнуть все разом. Оставить файл нельзя, а он нужен. И последнее - работа идет под стандартной (не администраторской) учетной записью.
Что бы я сделал в старой доброй семерке? Правильно, влез бы в настройки Real Time Protection в MSE и временно бы ее отключил. Мне бы предложили ввести пароль административной учетки, и на этом бы проблема кончилась. Но мы же в новой и суперудобной ОС!
Нажимаем настройки и... И нам открывается новомодное окно параметров Защитника:

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

@музыка: Starcraft OST

@темы: Этот безумный мир, Security

18:57

Starcraft II

We rise up for the things we believe in over and over again
Черт побери, это сделано настолько круто, что я не могу пройти мимо и не утащить в свой склерозник :)


@настроение: :)

@темы: Этот веселый мир

We rise up for the things we believe in over and over again
Две композиции, начисто сносящие крышу, в положительном смысле :)



А если еще и текст осознать... ммм... :)

@настроение: Оно (GlaDOS) еще и поет! :)

@темы: Music

21:29

Warehosue 13

We rise up for the things we believe in over and over again

Вот честно. Впервые за уже несколько лет попался сериал, про который я со всей отвественностью могу сказать - он гениален. К этой мысли я пришел только после того, как просмотрел заключительную серию. А что именно натолкнуло на эту мысль - ощущение тоски. От того, что придется расстаться с командой Хранилища. Их, действительно, будет не хватать. За дни, проведенные с ними успеваешь привыкнуть к их присутствию, их постоянным подколкам в отношении друг друга, к тем делам, что им приходится распутывать. Черт побери, да ты сам себя ощущаешь частью того, что происходит на экране. Если коротко - браво, SyFy! И тому, что вам удалось снять, и тому, как вы завершили эту историю.


P.S.
- Пиииит! Ну почему ты такой шлюх???!!!

@темы: Этот веселый мир