Ввод только цифр в текстовое поле

private void txtNumberField_KeyPress(object sender, KeyPressEventArgs e)
{
//ввод только цифр
if (!(Char.IsDigit(e.KeyChar)))
{
if (e.KeyChar != (char)Keys.Back)
{
e.Handled = true;
}
}
}

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

Одному донецкому ватнику посвящается

По заявкам читателей песня, на Радио Ультхар.

Cкачать Ышо-Ышо За базаром не следил бесплатно на pleer.com
Радио Ультхар. Оставайтесь с нами. Все будет Хаос.

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

Это голос высокой ТРАВЫ! Песня детства.


Cкачать Это что-то.. это стук по крыше бесплатно на pleer.com
Под панк переделать бы.
Мистическая песня.

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

Классификация бытовых и политических опасностей

Электричество — хуичество!
Радиация — хуяция!
Микробы — уебы!
Но газ — вааще пидарас!

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

Определение IP и местоположения пользователя посетителя сайта 5.

Пришедшие вчера за помощью студенты натолкнули на мысль окончательно завершить данную тему.
Итак, чего не так в нашем скрипте для определения IP и местоположения пользователя?
А не так то, что мы анализируем лишь один содержащий IP параметр: REMOTE_ADDR. Т.е. на самом деле это правильно, как сказано в замечательной статье. Но всей информации мы можем не увидеть, и даже у пользователя из какой-нибудь Сызрани, сидящего через не анонимный прокси, вместо Сызрани будет гордо высвечиваться какой-нибудь Вашингтон. Исправим это, поступив точно так, как рекомендуют поступить в вышеозначенной статье. Поле REMOTE_ADDR будем анализировать в качестве первичного и основного источника информации, а потом пробежимся по всем заголовкам HTTP_ (VIA, X_FORWARDED_FOR, X_CLIENT_IP и т.д., сколько найдем), достанем из них все, что соответствует шаблону IP, скормим определялке географического положения и выдадим в качестве дополнительной информации.
Пользователь может сидеть не через единственный прокси, а через каскад (тоже не анонимный, хехе). В таком случае, в одном или нескольких заголовках HTTP_ могут быть перечислены несколько прокси, причем тут нет никаких стандартов. Вполне возможна ситуация «кто в лес, кто по дрова»: прокси будут перечислены через запятую, пробел, через знак |, двоеточие. Это тоже нужно учесть.
Read more…
Получился скрипт, выдающий данные об IP пользователя в виде, удобном для машинной обработки (например приложению или скрипту для ведения логов).


Каскад прокси

Анонимный прокси, заполняющий несколько заголовков HTTP_

Скачать. Посмотреть код на PasteBin Посмотреть в работе
Впрочем, совсем не составляет труда сделать ему вид, более радующий глаз человека:
1. В строке header('Content-type: text/plain; charset=utf8'); изменим text/plain на text/html
2. Модифицируем сообщения скрипта.
3. Добавим код, выводящий оформление HTML (2 и 3 см. в самом скрипте ниже)

Каскад прокси
Анонимный прокси, заполняющий несколько заголовков HTTP_

Скачать. Посмотреть код на PasteBin Посмотреть в работе
Предыдущая серия

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

***

Растяни меха, гармошка!
Эй, давай наяривай!
Пей мельдоний Бабка-Йожка,
Пей, не разговаривай!

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

Несколько конфигураций сетевого адаптера Windows.

Быстрый способ переключения настроек.

Бывает так, что нужно сохранить и переключать время от времени несколько конфигураций сетевого адаптера в Windows, например, вы ходите по разным организациям с ноутбуком, подключаетесь по кабелю (да-да, не везде есть Wi-Fi, от жадности или в целях безопасности). В одной организации выделение IP происходит автоматически, через DHCP, в другой — надо все вводить вручную, в третьей, тоже вручную, но IP другие. 8 и 10 вроде могут сохранять конфигурации для нескольких сетей, а вот 7 и XP такого не умеют. Вот способ сделать все штатно, через командную строку Windows, с помощью утилиты netsh
Пусть, для примера у нас будут 3 сети с разными настройками:
Для них мы создадим три командных (batch) файла. При соединении с конкретной сетью запускается соответствующий batch-файл.
Да, поскольку у меня на ноутбуке XP, то и команды будут именно для XP. В 7 и выше синтаксис команд netsh вроде немного отличается.
Внимание! Для корректной работы с сетевыми интерфейсами, имена которых содержат русские буквы, batch-файл должен быть сохранен в кодировке DOS (866)
Сеть 1. Все настройки получаются через DHCP


Самый простой случай. В batch-файле содержится единственная команда:
netsh interface ip set address "Подключение по локальной сети" dhcp
где:
interface ip - указание, что операция будет производиться с интерфейсом ip (v4).
set address — устанавливаем адреса
"Подключение по локальной сети" — имя подключения
dhcp — тип получаемого адреса, по DHCP
Сеть 2. Все настройки указываются вручную, все адреса статические.

Установка адресов:
netsh interface ip set address "Подключение по локальной сети" static X.X.X.X Y.Y.Y.Y Z.Z.Z.Z M
где (исключая упомянутое в предыдущем пункте):
static — тип получаемого адреса, статический
X.X.X.X — IP компьютера (точнее, его сетевого интерфейса)
Y.Y.Y.Y — маска подсети
Z.Z.Z.Z — адрес основного шлюза
M — Метрика шлюза. Если у вас всего 1 сетевая карта, то указываем 1:
Метрика — определяет оценочную метрику маршрута в целых числах (от 1 до 9999) и используется при выборе из нескольких маршрутов в таблице маршрутизации наиболее точно соответствующих адресу места назначения пересылаемого пакета. Выбирается маршрут с наименьшей метрикой. Метрика может отражать количество скачков, скорость передачи, надежность пути, его пропускную способность или административные настройки.
Т.е. в нашем случае команда выглядит так:
netsh interface ip set address "Подключение по локальной сети" static 192.168.1.11 255.255.255.0 192.168.1.1 1
Добавляем первичный DNS:
netsh interface ip set dns "Подключение по локальной сети" static 10.20.0.5
Добавляем вторичный DNS:
netsh interface ip add dns "Подключение по локальной сети" 10.20.0.4

Внимание!
Команда именно add а не set.Хотя командой add можно и первый добавить.
Сеть 3. Все адреса статические. Некоторые параметры не указаны.


Примечание:
Такую конфигурацию можно использовать для отключения компьютера от интернета, но сохранив доступ к локальной сети.
netsh interface ip set address "Подключение по локальной сети" static 192.168.0.6 255.255.255.0 none
Команда установки адресов отличается только словом none на месте адреса шлюза. Т.е. указывает, что шлюз не указан
Внимание! Всегда лучше явно указывать отсутствие шлюза. Почему? Да потому что, если до этого в настройках был указан IP шлюза, то без явного указания (словом none), того, что шлюз не нужен, netsh программа оставит этот параметр без изменений.
Удаляем DNS-адреса:
netsh interface ip delete dns "Подключение по локальной сети" all
(вместо all можно указать конкретный адрес, если нужно удалить только его).
Источники

1. Using Netsh (на буржуйском)
2. Netsh commands for Interface IP (на буржуйском)
3. Настройка нескольких шлюзов в сети

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

Речевка для митинга

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

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

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

Версия 2. Исправленная и дополненная.

Преамбула.

Продолжаю начатое тут.
Обычно тоннель поднимается командой pppd call providername где providername – файл настроек соединения в /etc/ppp/peers. Команда особого интерактива не дает, а хотелось бы, например, чтоб выводился «прогресс-бар», когда соединение устанавливается, а по прошествии максимального времени ожидания, если соединение так и не поднялось, выводилось сообщение о таймауте. Если соединение поднялось до истечения таймаута – выводилось сообщение об успехе.
Скрипту будет передаваться единственный параметр – имя необходимого файла настроек соединения из /etc/ppp/peers
Что должен делать скрипт.

1. Проверить собственные параметры, и если файл настроек не указан – выдать соответствующее сообщение и прекратить работу.
2. Проверить наличие переданного файла настроек
3. Проверить, не поднято ли уже это соединение, если поднято – выдать сообщение и прекратить работу
4. Проверить параметр настройки unit – номер будущего интерфейса ppp. Если его нет – найти первый свободный (его и использует pppd). Если параметр unit присутствует, то проверить, свободен ли он, если нет – найти первый свободный.
5. Запустить установку соединения.
6. В цикле проверять, установилось ли оно, или истек заданный таймаут
7. По завершению цикла оповестить пользователя об успехе или истечении таймаута.
Недочет предыдущей версии скрипта.

Главный недочет предыдущей версии скрипта — жестко заданная проверка наличия соединения командой ping, после получения сведений об установленном соединении из вывода команды ifconfig. Пинговался адрес полученного шлюза. Дело в том, что некоторые провайдеры не позволяют пинговать шлюз, или вообще отключают возможность использования протокола ICMP, поэтому необходимо дать пользователю возможность через параметры командной строки указать, нужно ли использовать дополнительную проверку с помощью ping и какой адрес в случае необходимости пинговать.
Заодно мною были добавлены дополнительные информационные сообщения, а также немного видоизменен основной рабочий цикл.
Read more…
Скрипт на pastebin
Скачать с mega.nz
Бонусом сделал еще одну версию

Куда прикрутил обратный отсчет времени с мельницей, скрестив этот скрипт с вот этим.
Скрипт на pastebin
Скачать с mega.nz

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

Pastebin портит bash-скрипты? Или я что-то не так делаю?

Скачал оттуда свой же скрипт, у которого были нормальные линуксовые концы строк, открываю скачанный файл, а там виндовые Cr+Lf, бля.
Что это? Oo

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

На тему межлокального

Инитэрдэль-терьер
(из классификатора «Эсхатологические мутанты»)

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

местное

Вениаминь меня заметил
и прямо тут благословил
Посему дарим ему торадиционного эмо-боя.
Пусть ему приснится

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

Сменил публичный e-mail

В связи с необходимостью периодически посещать inbox.com
На inbox.lv вроде не надо регулярно заходить в веб-междумордие.
Итого:
hexxladen[inu]inbox.lv

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

Чиним поддержку криптографии и ошибку при запуске tcplay в Puppy Slacko 5.5. Часть III

Преамбула

Этот способ несколько сложнее, но ненамного.
Что сделаем:
1. Пересоберем ядро с поддержкой криптографии
2. Встроим tcplay в основную систему, т.е. после наших манипуляций он будет доступен «из коробки»
Преимущества:
— Не надо больше ничего делать
Недостатки:
— Способ требует больше движений
Начало
Тут я забегу немного вперед, и скажу, чтоб наше ядро (и соответственно далее Puppy Linux) запустился корректно, нам будет необходима поддержка UnionFS в ядре. На официальном сайте UnionFS я не нашел патч для поддержки UnionFS для версии оригинального ядра 3.2.33, поэтому выбрал ближайший патч для ядра версии 3.2.62 и, соответственно, решил изменить оригинальную версию ядра. На самом деле я долго, местами методом тыка пытался подружить оригинальное ядро с патчем для других версий, но не получилось, чтоб не загружать заметку, оставлю путь за кадром.
Если мы скомпилируем ядро без патча UnionFS, то при запуске операционной системы мы получим примерно такую картинку:

Подготовка
Нам необходимы:
1. Исходники ядра, которые можно взять здесь
2. Патч для поддержки UnionFS для новой версии ядра
3. Комплект разработчика, для соответствующей версии Puppy Linux, если мы будем собирать ядро в ней, или же «большой» Linux, в котором есть все нужные инструменты. (см. предыдущую заметку )
4. Комплект для работы со SquashFS, чтоб разобрать основной файл Puppy Linux Slacko, добавить туда, что нам надо, собрать обратно и оттестировать. Я на «большом» Линуксе просто скачал squashfs-tools-4.2 через sbopkg, но кому мало ли надо, вот оф. сайт
Внимание! Если собирать ядро в Puppy, то следует делать это на внешнем разделе, на котором имеется достаточно места, не следует собирать ядро в стандартных директориях, изменения в которых сохраняются в персональный файл. В противном случае место в файле сохранения и оперативная память быстро кончатся и процесс может до конца и не дойти.
Я собирал новое ядро для Puppy в «большом» линуксе.
Приступаем

1. Распакуем исходники ядра в отдельную директорию.
2. Скопируем в эту директорию патч для поддержки UnionFS
3. Распакуем его командой gunzip unionfs-2.6_for_3.2.62.diff.gz
4. Применим патч
patch -p1 -i <имя файла заплатки>
т.е. для нашего случая
patch -p1 -i unionfs-2.6_for_3.2.62.diff
Конфигурирование

Вообще это самый большой, больной и неоднозначный вопрос при сборке ядра, посему тут мне придется отослать читателя к более подробному и обстоятельному материалу, ссылки на который будут в конце заметки.
Я же остановлюсь только на некоторых моментах, которые непосредственно важны для нашей задачи.
Итак, у меня имелся в наличии готовый конфиг (который можно скачать здесь), и я подправил в нем только некоторые моменты
Во-первых, копируем файл .config в директорию с исходниками ядра.
Во-вторых, открываем в любом удобном текстовом редакторе файл Makefile, находящийся в директории с исходниками, ищем в нем 4 строчку сверху: EXTRAVERSION= и дописываем туда, что-нибудь типа -pcry (Puppy с поддержкой криптографии). Эта настройка добавит к имени ядра соответствующий постфикс, и кто-нибудь, случайно скачавший мое изделие, будет знать, что ядро не нативное, и возможно в нем работает криптография, но что-нибудь другое важное отвалилось :))
Наконец, запускаем конфигурирование командой
make menuconfig
Далее идем в раздел Cryptographic API и устанавливаем переключатели так, как это указано на нижеследующих картинках.
1 2 3
Далее идем в File systems и обязательно включаем в ядро поддержку Ext2, Ext3 и Ext4 файловых систем
В разделе File systems ищем подраздел Miscellaneous filesystems, заходим в него и проверяем, чтобы Union file system, был встроен в ядро <*>, а также проверяем, что в ядро встроена SquashFS 4.0
1 2 3
Собираем ядро

В директории с исходниками запускаем команду make bzImage
И идем пить чай, или водку. Возможно, с учетом скорости работы компьютера, и из самовара.
Далее собираем модули
make modules
И опять идем пить из самовара
На сборку ядра на селероне с 2.2 ггц тактовой частоты и 1 Гб оперативной памяти ушло 15 минут, а модули собирались час.
Подготавливаем ОС.

Внимание! Операции по подготовке ОС, разборке главного файла, его сборке и внедрению новых программ лучше выполнять из под root, чтоб не слетели права на некоторые системные файлы.
Команды make modules_install и make install также выполняются с правами root
1.Сначала разбираем основной файл slacko 5.5. — puppy_slacko5.5.sfs
2.Качаем необходимые пакеты LVM2, tcplay и Multipath tools. Ссылки здесь
3.Распаковываем пакеты, каждый в отдельную директорию
4. Копируем файл puppy_slacko_5.5.sfs в отдельную директорию, и, что называется, разбираем на запчасти, точнее распаковываем.
unsquashfs puppy_slacko_5.5.sfs

Образуется директория squashfs-root с содержимым sfs-файла
5.Теперь соберем все модули в одну кучу, на «большом» Линуксе это проблемы не представляет, а вот на Puppy должно хватить места в файле сохранения.
Переходим в каталог с исходниками ядра и выполняем команду
make modules_install
Если вы работаете не через удаленный терминал, то направьте вывод команды в текстовый файл:
, например
make modules_install >/mnt/sdb1/kernel/ok/out.txt
6.Создаем отдельный каталог (что-нибудь типа /mnt/sdb1/kernel/ok), в нем подкаталог lib, а в подкаталоге lib подкаталог modules и копируем в него каталог 3.2.62-pcry из /lib/modules
Дальше идет небольшой геморрой, надо скопировать все собранные Firmware-модули. Что это такое, можно прочитать, например тут. Поскольку я делал все манипуляции на удаленном компьютере через терминал, я просто скопировал из окна терминала нужные мне данные (они есть в выводе команды make modules_install) и написал 2 скрипта, облегчающих мне работу.
Нужная мне часть из вывода команды
Первый создает в моем рабочем каталоге нужную мне структуру подкаталогов (запускается в /mnt/sdb1/kernel/ok/lib/firmware), а второй копирует нужные файлы.
7. Подготавливаем новый sfs-файл, в директорию squashfs-root копируем (далее все пути относительно squashfs-root)
-Директорию 3.2.62-pcry в lib/modules (и удаляем из lib/modules 3.2.33-4g)
-Директорию firmware в lib и при необходимости заменяем нужные файлы
-Из распакованных пакетов копируем в корень squashfs-root все директории со всеми файлами, кроме директорий install
-Создаем в каталоге squashfs-root 3 скрипта 1 2 3, это doinst-скрипты, можно скопировать их из директорий install соответствующих пакетов, им нужно поставить права на исполнение и выполнить, после чего их можно удалить.
8. Выходим из squashfs-root и собираем основной файл Puppy Linux
squashfs-root puppy_slacko_5.5.sfs

Установка нового ядра и главного файла

1. Делаем копию puppy_slacko_5.5.sfs и файла ядра vmlinuz
2. Если вы работали в "большой" ОС, также стоит сделать копию каталога /boot и конфигурации загрузчика
3. Копируем новый главный файл на место предыдущего (он будет немного больше прежнего по размерам, это нормально).
4. Переходим в каталог с исходниками ядра и выполняем команду make install
5. Копируем из /boot vmlinuz вместо файла vmlinuz оригинального Puppy и при необходимости восстанавливаем /boot и конфигурацию загрузчика.
Если что-то не получилось

Или же что-то не устраивает, то всегда можно ядро подправить, пересобрав заново с нужными опциями. Итак, чтобы "вернуть все в зад" нужно:
1. Перейти в каталог с исходниками ядра и скопировать куда-нибудь файл .config, чтобы потом не выполнять конфигурирование заново.
2. Ввести команду make mrproper (Эта команда нужна для удаления временных файлов, созданных при предыдущей сборке. Она удаляет также все настройки, которые Вы сделали во время прошлой сборки.)
Вернуть .config обратно, снова запустить make menuconfig, отконфигурировать заново и запустить make bzImage (ну или make modules, если косяк связан с каким-то модулем, а не с настройкой ядра). Можно отдельно независимо пересобирать ядро и модули (и даже не все модули целиком, а только некоторые из них) если вы знаете, в каком конкретно модуле косяк. Патчи ядра сохраняются и после выполнения очистки.
Небольшая неудача с loglevel

У меня так и не получилось штатными средствами сбросить Default message log level при сборке ядра на уровень 0, как это походу было сделано в оригинальном ядре, и при загрузке выскакивали лишние сообщения ядра, портившие оригинальную красивую загрузку Puppy, патчить ядро я не решился (чтоб чуть что все таки можно было посмотреть вывод ошибок), и просто оставил уровень по умолчанию. А эстетичную загрузку можно вернуть, дописав loglevel=0 в качестве параметра ядра при загрузке, в настройке загрузчика:
kernel /slacko/vmlinuz ro vga=normal loglevel=0

Готовый дистрибутив

Можно скачать тут Puppy Slacko 5.5. NonPAE Crypto Mod

Использованные источники

1. Ставим ядро 2.6, или Ядерная физика для домохозяйки. Версия 2.0 Копия
2. Сборка ядра linux 3.4.* Копия
3. Работаем с модулями ядра в Linux Копия
4. Debugging by printing

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

Чиним поддержку криптографии и ошибку при запуске tcplay в Puppy Slacko 5.5. Часть II.

Преамбула
Что сделаем:
— Встроим tcplay, сопутствующие утилиты и необходимые модули в основной файл Puppy Slacko, чтоб tcplay был доступен «из коробки».
Плюсы:
— tcplay и недостающие криптографические модули будут работать из коробки, даже если файл сохранения с соответствующими изменениями испортился/потерялся.
Минусы:
— способ требует больше движений, но все-таки меньше, чем, если полностью пересобирать ядро.
— немного увеличится размер главного файла.
Что требуется.

1. Предварительно собранные модули для PAE или Non-PAE версии Slacko. См. соответствующую здесь
2. «Большой» Linux или Puppy с комплектом разработчика.
3. Комплект для работы со SquashFS, чтоб разобрать основной файл Puppy Linux Slacko, добавить туда, что нам надо, собрать обратно и оттестировать. Я на «большом» Линуксе просто скачал squashfs-tools-4.2 через sbopkg, но кому мало ли надо, вот оф. сайт
4. Необходимые пакеты LVM2, tcplay и Multipath tools. Ссылки здесь
5. Скрипт, загружающий модули.
Примечание: ниже описанным образом можно встроить и другие программы, которые недоступны из коробки, только не переусердствуйте, чтоб сильно не раздуть главный файл sfs.
Начинаем

Внимание! Операции по подготовке ОС, разборке главного файла, его сборке и внедрению новых программ лучше выполнять из под root, чтоб не слетели права на некоторые системные файлы.
Примечание:
придется много чего распаковывать, копировать, пользуйтесь mc для удобства
1. Помещаем главный файл puppy_slacko_5.5.sfs в отдельный каталог и распаковываем командой unsquashfs puppy_slacko_5.5.sfs. По окончании процесса, в каталоге образуется подкаталог squashfs-root с содержимым sfs-файла.
2. Если вы скачали готовые модули, то просто распакуйте в каталог squashfs-root каталоги bin и lib из архивов, при необходимости заменяя файлы. Если вы сами собирали модули, руководствуясь предыдущими заметками, скопируйте их в подкаталог lib/modules/XXX.XXX.XXX/kernel/crypto подкаталога squashfs-root где XXX.XXX.XXX — версия ядра, а также создайте в подкаталоге bin скрипт tcplay-mod:

#!/bin/bash
echo "Loading modules..."
modprobe lrw
modprobe xts
modprobe cbc
modprobe rmd160
modprobe sha256
modprobe wp512
modprobe aes
modprobe serpent
modprobe twofish
modprobe dm-crypt
echo "Complete!"
И назначьте ему права на исполнение
3. Модифицируйте файл squashfs-root/etc/rs.d/rs.local дополнив его командой /bin/tcplay-mod >/logmod, если вы не используете файерволл Puppy, закомментируйте предыдущую строчку. Вывод процесса загрузки модулей будет происходить в файл /logmod, при необходимости это можно будет использовать для отслеживания ошибок при запуске модулей.
4. Назначьте файлу squashfs-root/etc/rs.d/rs.local права на исполнение.
5. Распакуйте в отдельный каталог пакет поддержки LVM2
6. Скопируйте из этого каталога все подкаталоги, кроме подкаталога install в каталог squashfs-root
7. Скопируйте из подкаталога install в каталог squashfs-root скрипт doinst.sh
8. Установите ему права на выполнение, запустите, после чего удалите его.
9. Повторите пункты 5-9 для остальных пакетов (tcplay и Multipath tools)
Готово!

Теперь обратно нужно собрать главный файл, выходим из директории squashfs-root на уровень выше и выполняем команду:
mksquashfs squashfs-root puppy_slacko_5.5.sfs
Размер полученного нового главного файла увеличился примерно на 9 мегабайт, и приблизительно мегабайт на 15 увеличится, если добавить туда отсутствующий из коробки mc и обновить некоторые плагины к Firefox.
Готовые главные файлы

Puppy_slacko_5.5.sfs (PAE)
Puppy_slacko_5.5.sfs (non-PAE, 4G)

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

Про местное…

Ненавистники Гафурова не понимают, что он, как картошка, чем больше говном поливай, тем больше вырастет. Прямо-таки новое достижение Монсанты, скрестили, называется, картошку с колорадским жуком.
Посему он и прикольный. И комментировать его одно удовольствие. Грамотный. Не ведется. Срачные комменты игнорит, а на грамотные — грамотно отвечает. Учитесь, тролли.

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

Пакетный конвертер текстов [Win 1251-Unicode UTF-8] и не только

Вот и первое мое быдлокодерское поделие, выкладываемое в публичный доступ.
В общем позвонил мне как-то Панкарь, и пожаловался на то, что пакетные перекодировщики все исключительно за бабло, а ему срочно надо, ибо движок сайта в виндовой кодировке, а надо в Юникоде. И бесплатная версия пакетного перекодировщика, как назло, перекодирует, добавляя BOM, что php-скриптам вредит, и они от слова совсем объявляют забастовку.
В общем решил я это дело подправить. И написать свой пакетный конвертер/перекодировщик текстов. Который и выношу на ваш суд и для бесплатного скачивания.
За дополнения, баги, замечания и т.д. буду благодарен.
Возможности:
— Пакетная перекодировка текстовых файлов
— Создание полного дерева каталогов для перекодированных файлов
— Доступен расширенный список кодировок (все кодировки, доступные объекту Encoding)
— Удаление BOM UTF-8
Скачать с mega.nz
Скачать с моего сайта
Исходники:
Скачать с mega.nz
Скачать с моего сайта
Скриншоты:
На моем сайте
На imgur.com

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

INI PARSER, класс для работы с INI-файлами

Без API, все реализовано средствами C#
Подойдет для хранения конфига небольшой программы, для которой XML-когнфиг излишество и не надо совсем.
класс для работы с INI-файлами

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

Маленький сайтик с моими программами.

Завел себе отдельный маленький сайтик, куда буду выкладывать свои быдлокодерские поделки, а то негоже им на Хаоссофте валяться. Заодно сайтик это типа демонстрация возможностей маленького «визиточного» движка.
Hellcome!
http://hexladen.comli.com/

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

ЖРАТЬ

Жрать, жрать, жрать. Они хотели одного. ЖРАТЬ!! Со стороны это выглядело, как поэма Заболоцкого, или стихи Маяковского. Забыв про свой патриотизм, они шли к нам ЖРАТЬ, местная полиция не могла сдержать голодные толпы, а нам помогали только силовые поля.
ВНЕЗАПНО, оставшихся жителей ГОРФ спас упоротый Рогозин, продвигав0101011011ший свою лунную программу. Когда мы выш1111011010ли на орбиту, мы знали, что до Луны не01001011101110ё10001долетим, 010001, и мы, тогда еще патриоты, думали, что не вернемся. Но нам внезапно 010-000001000111101101111110001010101 010110110гли.
И мы вернулись, что бы обеспечивать им потребность ЖРАТЬ, и обеспечиваем. Им даже интернет и виртуальная реальность не нужна, они колорадские жуки — одна установка ЖРАТЬ!
А мне нравится говорить в бинарном коде 0010011110101!

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