Скрытые и персональные данные в документах MS Office

Настоящие параноики, конечно, не пользуются продукцией Майкрософт совсем, но мало ли что…
MS, собственно, особо и не скрывает наличие нежелательных для распространения в публичном пространстве данных, которые Office может внести в документ:
При распространении в электронном виде документа Office в нем могут содержаться сведения, которые желательно не делать общедоступными, — к примеру, данные, обозначенные пользователем как «скрытые», или информация, позволяющая работать над документом вместе с другими пользователями.
Вот инструмент для их удаления. От MS. Уж не проверял, насколько кошерно он все удаляет, но если публиковать Word’овские документы, то не грех этим инструментом предварительно воспользоваться.
UPD. Фиговина не удаляет некоторые сведения, которые можно принять за персональные, из макросов. Точнее — после обработки ею документа, все равно можно найти сведения типа Макрос записан 32 мартабря в хернадцать часов юзером MeGaUsWer
ЗЫ Тулза для 2003-го офиса.

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/294177.html
Прокомментировать заметку можно по ссылке выше.

Переключение шрифтов в Microsoft Word с помощью VBA

Бывает так, что в документе постоянно используются, например, два шрифта, и через некоторое время надоедает переключать их мышью. Это можно исправить с помощью VBA.
Предположим, что постоянно надо переключаться между Courier New и умолчальным Times New Roman, я это часто делаю, когда пишу про что-нибудь околоайтишное (Courier’ом выделяю код), а наши девочки – когда вставляют код в отчеты.
Итак:
1. Включаем запись макроса, называем его, например SetCourier, в окошке записи нажимаем кнопку, и далее назначаем удобное сочетание клавиш, например Alt+C
2. Выполняем любое действие (да хоть любой символ введите) и останавливаем запись.
3. Идем в меню Сервис – Макрос – Макросы, в появившемся окошке находим наш макрос, нажимаем Изменить, откроется редактор VBA, где и будем работать дальше.
4. Удаляем все, что между Sub SetCourier() и End Sub
5. Вставляем туда следующий код:
Selection.Font.Name = "Courier New"

Аналогично делаем и для Times New Roman, только называем макрос по-другому (например, SetTimes) назначаем другое сочетание клавиш, и вставляем следующий код:
Selection.Font.Name = "Times New Roman"
Теперь нажав соответствующие комбинации клавиш, можно переключить шрифт, а если предварительно выделить текст, то он также изменит свой шрифт.
Макросы на pastebin

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/294002.html
Прокомментировать заметку можно по ссылке выше.

Новости цензуры

Роскомнадзор заблокировал сайт Ухрюпинского шахматного клуба. Чиновники обнаружили на сайте статью про детский мат.

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/293781.html
Прокомментировать заметку можно по ссылке выше.

Не дай Украине остаться без газа!

Нашел прикольную игрушку столетней давности. Правила простые — кидайтесь яйцами в Хуйло, и не забывайте закрывать вентили, которые Хуйло успело открутить (кликом по ним).


Качать здесь. SWF 110 Кб

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/293381.html
Прокомментировать заметку можно по ссылке выше.

Определение момента, когда поднялся VPN тоннель

Определение момента, когда поднялся VPN тоннель
Здесь была первая версия скрипта
Она была с недочетом
Описание исправленной здесь

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/293021.html
Прокомментировать заметку можно по ссылке выше.

Задумался

Насколько рашисты хреновые фашисты. Именно не «хреновы», а хреновые. Знакомый с русским языком нюанс поймет.
Гитлер, на ночь кости не ворохнутся, во всяком случае сделал дороги в своей стране, и только потом поперся воевать в чужие.
А я тут от скуки нашел в сети вебку мухосранскнетворка и где-то час назад наблюдал, как смачно упала среднего возраста тетка в своем же дворе.

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/292403.html
Прокомментировать заметку можно по ссылке выше.

Лингвистическое

Вот что всегда бесило в человеческих языках, так это неоптимизированность и нелогичность. Взять хоть самое простое — буквенный алфавит. Буква — графическое отображение издаваемого звука. Но, блять, найдите мне язык, где оно так и есть.
Либо как в английском, где букв мало, и приходится городить ебанутый огород, когда как читать букву, зависит от того, где она стоит, либо от соседей. Получается что-то типа queue, которое читается как «кейу», и ведь хуй догадаешься, если не знаешь, потому что мозг помнит принцип 1 буква == 1 звук, и пытается это прочитать по буквам.
Либо как в русском — одна буква может 2 звука означать. Пресловутая русская Ё — ЙО же! Причем ладно бы, два этих случая встречались по отдельности, нет, они, сука, вместе встречаются, в одном языке. Некоторые буквы вообще есть, но, сука, при определенных условиях звук съёбывает.
И это только алфавит, а все остальное — вообще сплошной пиздец и катавасия. Будете кто-нибудь делать искусственный язык, соптимизируйте хотя бы алфавит. Чтоб конкретная буква ВСЕГДА обозначала один и тот же конкретный звук.

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/292248.html
Прокомментировать заметку можно по ссылке выше.

KISS

Делай Проще, Дурень.
Вот.
ЗЫ. А мне надо его запомнить, еще и еще раз. Иначе получаются вместо нормальной учебы для себя очередные Свидетели Геммороя, бгг.

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/291449.html
Прокомментировать заметку можно по ссылке выше.

Проверка валидности введенного IP-адреса (V4)

Без использования регулярных выражений.
Пишет мне один старый товарищ, ныне студент, и просит регулярку для проверки валидности IP. Как выяснилось, регулярка оказалась не нужна совсем, т.к. задача поиска IP в тексте неизвестной структуры не стояла. А что такое IP? Да это же просто 4 байта, разделенных точкой. Посему достаточно просто разложить строку на составляющие функцией split(), проверить, сколько строк получилось в результате, и если строк 4 — попытаться каждую сконвертировать в байт. Если все сконвертировались — IP правильный.
bool isValidIP(string IPAddress)
{
     char[] ch = new char[1]; //Разделители для функции split
     ch[0] = '.'; //у нас 1 - точка
     string[] IPArr = IPAddress.Split(ch); //разделяем строку на составляющие и записываем в массив
     if (IPArr.Length != 4) return false; //если длина не 4 ровно, значит точно не IP
          byte b = 0; //временная переменная для результата конверсии
          bool res = false;//временная переменная флага, прошла ли конверсия удачно
          for (int i = 0; i < 4; i++) //прогоняем все элементы массива через конверсию           {                res = byte.TryParse(IPArr[i], out b); //пытаемся сконвертировать                if (!res) return false; //если функция вернула false, значит элемент массива не байт. Возвращаем false           }      return true; //если до этого нигде не вывалились, это IP, возвращаем true }

Вариант проверки с использованием класса Convert и обработкой исключений:
Read more...
Вариант 1 на pastebin
Вариант 2 на pastebin
демо
static class с функциями отдельно

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/291094.html
Прокомментировать заметку можно по ссылке выше.

Информация о выделенном IP и шлюзе, еще вариант

Анон дельно подсказал еще один способ узнать выделенный IP и адрес шлюза VPN-тоннеля и настроить маршрутизацию. Создать скрипт /etc/ppp/ip-up (также есть варианты ip-pre-up и ip-down для соответствующих случаев), которому pppd в параметрах передает всю нужную информацию.
В некоторых дистрибьютивах исполняются не скрипты с указанными названиями, а скрипты из каталогов /etc/ppp/ip-up /etc/ppp/ip-pre-up /etc/ppp/ip-down. Мне сей способ не сильно удобен, т.к. скрипты запускаются при поднятии каждого тоннеля, соответственно, придется городить большой скрипт, определяющий какой именно тоннель поднялся, и какой маршрут прописать (и нет ли этого маршрута уже). Посему у себя я оставлю как было, но информация все-равно полезная, пусть лежит тут. Мало ли когда надо будет.

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/291063.html
Прокомментировать заметку можно по ссылке выше.

Скрипт, для получения информации о выделенных ip и шлюзе и установки маршрутизации.

Преамбула.
Дело в том, что у меня на рабочем компьютере поднимаются сразу несколько VPN-тоннелей. Для работы, сразу с двумя офисами, здесь, в Италии, и до основного, два бесплатных VPN для разных Интернет-сервисов, один из которых должен предоставлять маршрут по умолчанию, местный тоннель (пофлудить на скрытом форуме). Для всего этого зоопарка заведены соответствующие таблицы маршрутизации в файле /etc/iproute2/rt_tables. Понятно, что после того, как тоннели поднялись, в соответствующие таблицы надо прописать соответствующие маршруты по умолчанию. DHCP в данном случае применим с огромным геморроем, маршруты надо прописывать вручную, но это тоже не менее геморройная задача, т.к. провайдеры иногда меняют шлюзы, я меняю провайдеров VPN, админы тоже могут изменить шлюз и/или выделенный IP. В общем, задолбало меня все руками перенастравивать и я решил написать скрипт, который это будет делать за меня. Заодно вспомнить bash, где знал, и узнать что-то новое, где не знал.
Будем исходить из того, что имеется уже поднятый VPN-тоннель и нам необходимо прописать в нужную таблицу нужный маршрут по-умолчанию.
Откуда взять нужные ip.
Из вывода команды ifconfig. В моей системе вывод ifconfig pppX, где X, номер соответствующего интерфейса ppp выглядит так:
ppp1: flags=4305 <UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1396
     inet x.x.x.x netmask 255.255.255.255 destination y.y.y.y
     ppp txqueuelen 3 (Point-to-Point Protocol)
     RX packets 2055 bytes 1502924 (1.4 MiB)
     RX errors 0 dropped 0 overruns 0 frame 0
     TX packets 1747 bytes 179542 (175.3 KiB)
     TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Где x.x.x.x – IP, присвоенный машине провайдером VPN, а y.y.y.y – IP шлюза провайдера, через который и должен пролегать маршрут.
Команды для установки маршрутизации
Команда добавления маршрута в соответствующую таблицу выглядит примерно так:
ip route add default dev имя_тоннеля via адрес_шлюза src адрес_машины table таблица
Например:
ip route add default dev ppp1 via 10.1.15.1 src 10.1.22.12 table suomi_office
Если таблица не указана (параметр table отсутствует), то маршрут будет установлен, как маршрут по умолчанию.
Обязательными параметрами в данном случае является указание на соответствующий шлюз (dev), остальные – дополнительные.
Для удаления маршрута по умолчанию используется команда:
ip route del default table таблица
или
ip route del default для удаления основного маршрута по-умолчанию.
Что должен делать скрипт
Основное:
1. Проверить, действительно ли поднят указанный интерфейс
2. Есть ли в файле /etc/iproute2/rt_tables соответствующая таблица маршрутизации, если таблица не указана – установить основной маршрут по умолчанию
3. Получить нужные IP
4. Вывести на экран summary – полученные IP и параметры.
5. Установить маршрутизацию, сообщив об успехе, либо ошибке
Дополнительно:
1. Проверить корректность заданных параметров
2. Вывести справку по собственным параметрам при наличии запроса, либо при запуске без параметров.
3. Иметь возможность указать или не указать необязательные параметры для команды маршрутизации.
Read more…
Приложение. Используемая литература и скрипт целиком.
1. Краткое описание команды if. Копия
2. Краткое описание команды awk Копия
3. Скрипт. Копия на pastebin.

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/290649.html
Прокомментировать заметку можно по ссылке выше.

Потихоньку межлокалю

Хамсан Корытов
(из классификатора «Эсхатологические мутанты»)

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/290521.html
Прокомментировать заметку можно по ссылке выше.

ЛИЦЕНЗИЯ ХЕКСА

1. Почему я это написал
Потому что не шарю. Я не умею читать по-английски да и по-русски тексты размером больше странички. Если больше странички мануал — значит мануал говно. Если больше странички любой текст, кроме художественного произведения — значит текст говно (если не я его написал).
ОБЩИЕ ПОЛОЖЕНИЯ
1. Я никому ничего не должен. Вообще и совсем. Если вы к реальности применили то, что написано в этом блоге, значит вы сами дураки. Я вас не заставлял.
2. Я всегда стараюсь прислушиваться ко всем возражениям. И реагирую на них по мере возможности и желания.
3. Все тексты, скрипты, программы, опубликованные здесь, пишутся только для меня, конкретного пользователя LJR под ником
4. Все, что опубликовано мною публично, вы можете использовать сколько угодно и как хотите. Ссылка на оригинал желательна, но не обязательна.
Takiye_dela
Licension HEX 001/01 ver 0.01

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/290137.html
Прокомментировать заметку можно по ссылке выше.

Анекдот

Вроде римейк старого, но я смеялся. Не мое.
Президент роисси едет куда-то, вдруг сотовый зазвонил:
Анон: Здравствуйте, Владимир Владимирович. А вы Хуйло.
ВВХ: (в гневе) Кто это говорит!!?
Анон: Да все говорят…

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/289594.html
Прокомментировать заметку можно по ссылке выше.

Анекдот

Экзамен в медвузе. Препод у студента спрашивает:
П: Приведите пример ярко выраженных симптомов шизофрении.
С: А откуда можно? Из практики или из реальной жизни?
П: Да хоть откуда.
С: Члены Единой России поддерживающие сепаратистов на Донбассе

Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/289476.html
Прокомментировать заметку можно по ссылке выше.