Офигительная музыка! 8-bit let’s go!

Вот эта, например
Полиция не приехала, только потому что я на работу сбежал всю коллекцию слушать! Пришлось немножко поебаться в Visual Studio, чтоб пакетом все это выцарапать с сайта, но это того стоило. Потом перепакую и выложу, наверное.
По наводке [info]ketmar@ljr. Как только изобретут телепорт, с меня коньяк спирт! 🙂

Играет музыка: (R)Soft-Drink’em all
Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/305239.html
Прокомментировать заметку можно по ссылке выше.

Установка Java в Slackware

Я пользовался несколько устаревшим How-to отсюда [копия], но устарел How-To исключительно из-за того, что java обновилась (изменилась версия). Так что алгоритм тот же.
1.Скачиваем JDK отсюда. Находим кнопочку Download под надписью JDK, и щелкаем на нее. Далее принимаем лицензионное соглашение и качаем нужный архив для вашей ОС.
2.И скрипт SlackBuild отсюда (Download SlackBuild на страничке. Для версии JDK 8u31) [копия]. Но, если что, нужный слакбилд гуглится по запросу slackbuild java 8u31, где 8u31 — текущая версия java.
3.Распаковываем архив со SlackBuild’ом (все файлы из архива) в отдельный каталог (можно воспользоваться MC)
4.Туда же копируем скачанный с сайта Oracle файл (на данный момент — jdk-8u31-linux-i586.tar.gz для 32-х битных систем, и jdk-8u31-linux-x64.tar.gz для 64-битных).
5.Переходим в каталог с распакованным SlackBuild и выполняем команду
./jdk.SlackBuild jdk-8u31-linux-i586.tar.gz
Когда процесс завершится, будет выдано сообщение наподобие:
Slackware package /tmp/jdk-8u31-linux-i586-1.txz created.
6.Копируем свежесозданный пакет куда-нибудь (чтоб не потерялся).
7.Устанавливаем его, выполнив следующую команду в директории с пакетом: installpkg jdk-8u31-linux-i586-1.txz
8.Перезагружаем машину.
9.Проверяем правильность установки, введя в командной строке java без параметров. Java-машина должна выдать справку по своему использованию, т.е. список опций.

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

Скрипт, разрывающий ppp-соединение

Параметр один — имя тоннеля, без параметров разрывает соединение ppp0. Не мое.
 На pastebin

Скачать с mega.nz

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

Воспоминания о вирусной сцене

Походу, она померла даже на Западе. Эх, сегодня с админом грустили, как же круто было раньше… Я ему WIRLIST.DWB показал. Кое-что перевел своим встроенным почти гугль-переводчиком. Поплакали вместе и пошли бухать.
Сейчас одни сплошные винлокеры, шифровальщики пользовательских котиков (расшифровывающие котиков в зад за бабло) и просто тупо коммерческие или околокоммерческие шпионы. Никакой искринки, никакого креатива. Пластмассовый мир победил. Тьфу. А раньше вирусы были прикольные:

Ieronim.1581
Иногда выводит на экран "романтическую балладу":
Le voyage de condom
Pомантическая баллада
Использованные пpезеpвативы             О,сколько их,изделий из pезины,
Плывут неспешно по Москве-pеке.         Поглотят бездны мpачные моpей!
В воде их ловят коопеpативы             Но,по волнам скитаясь непpестанно
И сушат за углом невдалеке              Не всем тонуть - кому-то и всплывать...
И снова пpодают,и будут долго           Один из них достигнет океана
Пpепятствовать pождению детей...        И станет вокpуг света дpейфовать...
Но в сpок положенный впадают в Волгу    И будет путь его теpнист и долог,
Буpжуйских избежавшие сетей.            И в ночь,когда муссонный ливень льет,
Их pыбы жpут,их чайки жpут,и вскоpе     Его поймает тpалом ихтиолог,
Сдыхают от закупоpки кишки...           Что пятый день,не пpосыхая,пьет.
Но уцелевшие впадают в моpе,            И внятный голос музы он услышит,
Качаясь на волнах,как поплавки.         И,ощущая твоpческий поpыв,
Нептун колеблет зыбкие глубины,         Сейчас же диссеpтацию напишет
И гонит тучи по небу Боpей...           На тему:"Контpацепция у pыб".


И даже использовались, как орудие политической борьбы:

Freedom.2448, 2560, 3600
Очень  опасные  резидентные зашифрованные  вирусы. При обнаружении слов
"воен",  "арми",  "солдат",  "оруж", "военком", "полковник", "призывн",
"вооружен"    вирус  уничтожает  случайные  сектора  на  жестком  диске
(Freedom.2560, 3600)  или  все сектора (Freedom.2448),  записывая в них
фразу "Закон о всеобщей воинской обязанности - ГРУБЕЙШЕЕ НАРУШЕНИЕ прав
Человека !". Содержат тексты "COMMAND AIDS .EXE .COM", "F R E E D O M",
"ПОМНИТЕ - УНИЧТОЖИВ ЭТУ ПРОГРАММУ ИЛИ ЕЕ СОЗДАТЕЛЯ, ВЫ УНИЧТОЖИТЕ
СЛЕДСТВИЕ, НО НЕ ПРИЧИНУ ..."


Описания вирусов, поставлявшиеся с DOS’овским DrWeb то еще чтиво, достойное лучших образчиков контр-культуры. В одном ряду с Сорокиным, Масодовым и Парфеем.
Причаститься можно здесь (ZIP+DOS Text [CP866],312 Kb)

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

Движок для сайта-визитки. Последняя версия.

Умницы-карелы прислали последнюю версию движка.
Скачать можно здесь.

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

Движок для сайта-визитки

Основан на какой-то галерее, сделали друзья-карелы сто лет назад. На этом движке работает ChaosSoft.
По-умолчанию админский пароль хранится в открытом виде, и передается тоже, посему для безопасности требуется снести с сервера admin.php и passlogin.php, после того как все настроили и заполнили сайт информацией. Можно включить нормальную авторизацию.
Требует php, но основан на файлах (MySQL не нужен)
Установка проста:
-Распаковываем архив
-Копируем все файлы в директорию на сервере
-Настраиваем сайт, вносим информацию
-Сносим admin.php и passlogin.php
Скачать можно здесь (все версии сразу в одном архиве)

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

Знаете ли Вы?

Когда умирает программист, всю жизнь писавший программы для Windows, последнее что он видит — BSoD

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

Рашковане! Ни в коем случае не пользуйтесь свободным софтом! Это от Сатаны!

Почему? Свободный софт модно форкнуть!
Сначала еврейские оппозиционеры форкнули Пятикнижие. Так появилась Библия.
Потом мусульмане подумали, сделали бы мы это в мичети, и форкнули Библию. Так появился Коран.
Потом когда все поняли, что можно невозбранно форкать, исправлять под себя, добавлять куски кода и делать свои ветки, появились:
вахаббиты
салафиты
какие угодно иты
протестанты
баптисты
пятидесятники
свидетели Иеговы
хз кто и дофига их.
Вот. Пользуйся качественным проприетарным продуктом! Иначе нафоркают, потом холиварить будете.
Православие в ГОРФ — качественный проприетарный продукт (хоть изначально форк форка от свободного). Можно попытаться форкнуть, но придут защитники авторских прав и настучат в бубен.
Покупайте наши свечи (с сегодняшнего дня еще и от геморроя, с банановым вкусом и скидкой 25%)! Аминь!
Это была вечерняя проповедь, с вами был Димтрий Энтео Патриарх Кирилл

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

Об языки программирования

Я считаю, если к языку программирования не прилагается из коробки нормальная среда разработки (IDE), с отладчиком хотя бы, а желательно с подсветкой кода, подсказками, проверкой синтаксиса на лету, то это не язык программирования, а говно, разработчики которого плевать хотели на клиентов/пользователей/подставитьнужноеслово. Для них клиенты и пользователи — программисты, которые будут на этом языке писать. Не сделав нормальную IDE, они уже насрали потенциальному клиенту на голову, и еще чего-то хотят. Борланд это понял первым, MS — вторым.
Исключение только для скриптовых языков операционок, например bash, языка bat-файлов или PowerShell, и то только потому что, во-первых, эти языки рассчитаны на работу в минимальном окружении, в космосе без скафандра, куда никакая IDE не влезет, а во-вторых, они вызывают множество внешних, по отношению к интерпретатору, команд. В последнем случае невозможно толком сделать отладчик. Ассемблер и байткод тоже может не иметь IDE, см. «во-первых»
В случае коммерчески- или хотя бы массовоориентированных языков, за такое ебало надо бить. Для перла и php есть костыли, но разработчики все-равно уроды страшные, ИМХО. Хотя в их отношении я погорячился, наверное, но к остальным не относится. С другой стороны — язык стал массовым, появилось бабло, так сделай же IDE!

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

Поиск текста с заданным начертанием (жирный, курсив и т.д.), выделенного определенным шрифтом. VBA.

И вставка в текст HTML-тегов.

Преамбула
Да, мне нравится 2003 MS Word, и на мой взгляд, текстового редактора лучше пока еще никто не написал. Я делал все нижеследующее для себя, но возможно, материал будет полезен изучающим VBA. Особенно если у них возникают вопросы, как найти текст, выделенный жирным, курсивом, или там определенным шрифтом.
Так вот. Написал я в Word’е заметку про какой-нибудь скрипт, красиво оформил, код выделен Курьером, заголовки отцентрованы, важные места выделены жирным, пункты меню указаны курсивом, ну и так далее. Теперь нужно текст переложить в уютненький бложег, да так, чтобы сохранить форматирование вставить куда надо нужные теги.
Встроенное сохранение в формате HTML вставляет много лишних тегов, добавлять нужные теги руками – лишняя работа, а я ленивый. Что же делать? У нас есть VBA, который все сам за нас сделает.
Read more…
Макрос целиком на pastebin

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

Скрытые и персональные данные в документах 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
Прокомментировать заметку можно по ссылке выше.

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

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

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

Удаление EXIF-данных из изображений.

Мини-совет для Windows, но поскольку средство для работы (в т.ч. и удаления) метаданных кросс-платформенное, то инструкция будет не сильно и отличаться.
1. Качаем утилиту ExifTool отсюда. Она бесплатная, может обрабатывать файлы пакетом, для начинающих пользователей есть один минус — это утилита командной строки.
2. Распаковываем архив, переименовываем файл exiftool(-k).exe в exiftool.exe и копируем/переносим его в C:Windows или любой другой каталог, который указан в переменной окружения PATH. Кому лень — качаем отсюда самораспаковывающийся архив, в котором уже все переименовано, и распакуется он в директорию, куда установлена Windows. Для этого потребуются права администратора.
3. Команда для удаления всех EXIF-данных такая:
exiftool -all= -overwrite_original *.jpg
где:
exiftool — имя нашей программы
-all= — удаляем все данные
-overwrite_original — перезаписать оригинальные файлы
*.jpg — обработаны будут все файлы JPG из данного каталога (т.е. если надо обработать PNG, то вместо *.jpg надо написать *.png)
Команду выполняем из Far’а или командной строки в каталоге с изображениями.
Вот более подробная инструкция по использованию ExifTool.

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