Крипота регионалистская

Поехал в [ДАННЫЕ УДАЛЕНЫ]ярви к другу на дачу, август, темно уже. Инструкции от друга были простые — высаживаешься на 666 километре, налево будет проселок, по нему идешь 2 километра до деревни, там позвони, мы тебя найдем.

И все бы ничего, но посреди проселка было кладбище, я был моложе и несколько приссал, в голове заиграло «из могилы на меня, что-то кинулось и шею прокусила та херня», но крипота не в этом. Дошел нормально, сходили в баньку, выкупались в том самом [ДАННЫЕ УДАЛЕНЫ]ярви, жахнули коньячку, да пошли спатеньки.

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

Вернувшись в город, пересказываю сон маме.

— Удивительно, а ведь дядя М. Ж. Е. и П. на кладбище в [ДАННЫЕ УДАЛЕНЫ]ярви и похоронены, отвечает мама.

Занавес.

***

На круглом столе в 2008 году (да, тогда можно было собирать местные политические конференции и дебаты, и ничего за это не было), у одного коммуняки из КПРФ в ходе дискуссии бомбануло:

— И что, вы любите грузин?!
— Нет, одного ненавижу. Сукина сына Сосо, который боролся с империей, чтобы самому стать императором.

У коммуниста бомбануло еще больше, из него, как из Кургиняна потекла пена, и он чуть не бросился через длинный стол портить мне няшное анимешное личико. Известный журналист и регионалист [ДАННЫЕ УДАЛЕНЫ] тихо давился слюной, но уже от смеха.

Более адекватный коммунист тормозит взбесившегося, и говорит

— Плюнь на этих заонежских, они ебнутые.

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

Когда рассказал эту историю дядюшке (на очередных похоронах очередного сына бабушки Д, на том самом кладбище в [ДАННЫЕ УДАЛЕНЫ]ярви), он сделал круглые глаза, и сказал, «как это ты не заонежский, по матери ты таки да, заонежский, так что коммунист был прав, а вы заонежские действительно немного ебнутые. И это… сепаратисты и бандеровцы!»

Истории про котiв #2

Друзья забыли меня бухого на чердаке девятиэтажки.
Я уснул и проснулся ВЕСЬ В КОТАХ! С двух боков лежали КОТЫ, то ли по три,
то ли по четыре с каждого боку, на груди лежал огромный рыжий КОТ!
Я сначала подумал, что это глюк (мы не только пили, но и дули).
Но глюк не царапается и не ворчит, а также глюки не оставляют шерсти на одежде.
На улице было -20, на чердаке — чуть ниже комнатной температуры (там коммуникации).
Я всю ночь был грелкой для КОТОВ

***

Достали эти динозавры комнатные (голуби),
в деревне не так много (их жрут ястреки, тем более аэродром рядом, там их как-то гоняют),
а в городе вообще писец, прикольно, что жрут даже кошачий корм.
Недавно, когда был в городе, сплю, начинает происходить какая-то фигня в квартире,
на кухне шум, я один и кошка. Открываю один глаз, думаю кошка.
Кошка сидит на стуле у компа и сама слушает. Я ей мысленно
— Иди проверь, что там за фигня.
Кошка мне также мысленно (но по роже понятно):
— Твоя хата, вот ты и проверяй, я вообще после прививки, а вдруг там НЕХ,
а у меня иммунитета к ней нет.
Воззвал к Слаанеш и Ктулху, пошел. Голубь.
Внутрь залетел, и форточку потерял, тупой тому ще.
Поймал, принес в комнату, показываю кошке.
Кошка брезгливо понюхала, типа «выкинь каку», ну я его с балкона и выкинул.

Отключение обновления Foxit PDF Reader (v. 8.3.2.25013)

Преамбула

Когда-то писал о том, что в новых версиях Foxit Reader пропал PDF-принтер и Foxit PDF Creator (копия). Так вот, новая гадость пришла откуда не ждали, теперь он сносит PDF-принтер при обновлениях.

Штатного способа отключить обновления нет

Решение

Сама программа обновления имеется в двух экземплярах:

В каталоге Foxit:
C:\Program Files (x86)\Foxit Software\Foxit Reader\FoxitUpdater.exe

И в каталоге Application Data:
C:\Users\<username>\Application Data\Foxit Software\Addon\Foxit Reader\FoxitReaderUpdater.exe, вместо <username> — ваше имя пользователя.

Просто снести два экзешника не получится, точнее получится, но Foxit Reader будет при каждом запуске ругаться, что не нашел свой обновлятор. Зато не будет ругаться, если обновлятор (оба файла) просто заменить на экзешник, который ничего не делает, а такой я уже делал (копия), правда по другому поводу. Сделал еще и версию на MASM

Написал патч на NSIS

И для себя, если винды переустанавливать, и для клиентов, на всякий случай.

Репозиторий на GitHub
Исходник NSIS
Копия (без дополнительных файлов) на PasteBin
Скачать готовый патч

Дополнительно

В принципе, исходник достаточно простой, оставлю только ссылку на получение MD5-суммы файла в NSIS: NSIS: контрольная сумма (MD5), сравнение файлов. (копия).

Примечание: почему-то MD5-сумма, получаемая NSIS-плагином (md5dll.dll) отличается от MD5-суммы, полученной средствами Windows (копия). Почему, пока не разобрался. Может, позже напишу.

Windows, CMD/BAT: получить MD5 и другие хэш-суммы для файлов.

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

Windows 7 и выше

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

certutil -hashfile <путь_до_файла>

По умолчанию утилита генерирует хэш SHA1

Чтобы сгенерировать хэш-сумму по другому алгоритму, нужно вызвать утилиту так:

certutil -hashfile <путь_до_файла> <алгоритм>

где <алгоритм> — один из поддерживаемых алгоритмов (регистр символов в названии алгоритма значения не имеет)

Поддерживаемые алгоритмы:

— MD2
— MD4
— MD5
— SHA1
— SHA256
— SHA384
— SHA512

Например, чтобы получить MD5-хэш надо вызвать утилиту со следующими параметрами:

certutil -hashfile <путь_до_файла> MD5

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

@certutil -hashfile %1 MD5

Впрочем, я для вас заморочился. Тут можно взять батник для каждого алгоритма, или скачать SFX-архив для самых ленивых. Распакуется в директорию Windows.

Улучшаем BAT-файлы

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

N:\BatTest\win7\simple>certutil -hashfile MD5.BAT MD5
MD5 хеш файла MD5.BAT:
9b e2 27 09 ed 09 0a 23 9e 55 52 6b 44 04 a5 33
CertUtil: -hashfile - команда успешно выполнена.

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

1. Поскольку, язык BAT/CMD беден на операции со строками, нам придется скачать стороннюю, заимствованную из Linux утилиту awk, и добавить специальную команду, чтоб утилита оставила нам только вторую строку в выводе:

certutil -hashfile MD5.BAT MD5 | awk NR==2
b9 cb 1e 4b 57 f7 77 dd 67 ee a1 61 2e c4 32 20

Скачать утилиту awk для Windows можно здесь.

2. Удалить пробелы можно тоже с помощью awk:

awk "{ gsub(/ /,//); print }"

Весь батник целиком:

@certutil -hashfile %1 MD5|awk NR==2|awk "{ gsub(/ /,//); print }"

Вывод:

N:\BatTest\win7\ one-hash>MD5.bat MD5.bat
b310116e1fa1241e916717515212c1a01f116913e147144

Готовые .BAT-файлы на GitHub
SFX-архив (распаковывается в директорию Windows, awk в комплекте)

Windows XP и выше

В Windows XP утилиты certutil нет, потому придется пользоваться сторонними программами. Их множество, но, например, можно воспользоваться утилитой hash.exe

Она поддерживает хэш-суммы:

— MD5
— SHA1
— SHA256
— SHA512

Параметры запуска:

hash.exe <алгоритм> <путь_до_файла>

Например:

Hash.exe md5 Hash.exe

выдаст MD5-хэш самой hash.exe:

Hash.exe 126399821fc56f045cef5af1d09e832b

Утилита использует библиотеки OpenSSL (DLL есть в комплекте) для получения хэш-функций.

Внимание! Утилита дубовая от слова ой, Древние! Внутреннего хелпа у нее нет, на любые ошибки (нет параметров, параметры перепутаны местами, файл недоступен) она просто выдаст пустую строку в выводе.

Опять же, наделал батников (на GitHub)

И SFX-архив для ленивых (hash.exe и DLL в комплекте)