11 нояб. 2009 г.
Клавиша SysRq
Alt-SysRq-K - снимает все процессы в текущей виртуальной консоли, оставляя только системный процесс login, который не может подменить никакая внешняя утиль. Аналог виндового Ctrl-Alt-Del, выводящего окно логина, которое принадлежит системе и не может быть подменено никакой программой. Нужно для защиты от программ-шпиёнов. В этом окне нажатия клавиш обрабатывают только драйвера.
Alt-SysRq-E - прекращает в системе все процессы кроме init, отправляя им сигнал SIGTERM. При получении этого сигнала программа перед выходом может сохранить нужные данные.
Alt-SysRq-I - прекращает в системе все процессы кроме init, отправляя им сигнал SIGKILL. При получении этого сигнала процесс немедленно убивается - без возможности сохранения данных.
Alt-SysRq-S - сбрасывает все буфера записи на диск. Полезно, если только Reset спасет, чтобы не потерять данных в буферах. Рекомендуют дождаться сообщения "Emergency Sync.... OK" (или подождать секунд 5-6, если вывод на консоль не производится) перед Reset - нужно дать системе время на сброс и запись данных.
Alt-SysRq-U - отмонтирует все примонтированные ФС. Выводится сообщение "Emergency Umounting". Рекомендации по ожиданию - те же. Еще желательно перед этим скинуть буффера командой Alt-SysRq-S.
И на закуску - контрольный в голову
Alt-SysRq-B - reBoot - аналог виндового ресета.
Alt-SysRq-S - Shutdown - аналог виндовой кнопки питания :)
GPG. Пример использвания
GNU Privacy Guard - GPG
GnuPG - программа для шифрования и подписывания информации, совместимая с PGP. Я не буду здесь рассказывать, что такое шифрование и как оно работает, а лишь приведу основные приемы работы с GnuPG.
Исполняемый файл GnuPG называется gpg. Работа с ним производится при помощи параметров командной строки либо в интерактивном режиме (например, редактирование ключа).
Связка открытых ключей хранится в файле ~/.gnupg/pubring.gpg, а закрытых - в ~/.gnupg/secring.gpg.
Создание пары ключей
Пара ключей создается командой gpg --gen-key. При этом вас спросят тип, размер и срок действия ключа. Затем будет предложено ввести идентификатор пользователя и ключевую фразу. После создания ключа можно просмотреть его командой gpg --list-keys <ключ>, где <ключ> - это любая информация о ключе - имя пользователя, почтовый адрес или цифровой идентификатор.
Теперь экспортируем открытый ключ в файл. Это делается следующей командой:
gpg --output pubkey.asc --export <ключ> --armor
Здесь --armor указывает на то, что вывод должен быть в текстовом, а не двоичном, формате.
Импорт и подписывание чужих открытых ключей
Допустим, у нас имеется чей-то открытый ключ, полученный по почте, с PGP-сервера или еще как-то и созраненный в файл pubkey.asc. Импортируем его в свою связку:
gpg --import pubkey.asc
Перед тем, как пользоваться этим ключом для шифрования или проверки подписи, надо указать степень доверия к этому ключу, а для этого подписать его своим закрытым ключом. Всё это (как и все операции над ключами, имеющимися в связке) делается в специальном режиме редактирования ключа, запускаемом командой gpg --edit-key <ключ>.
Сначала командой fpr просмотрите отпечаток ключа и обязательно сравните его с отпечатком, полученным от хозяина ключа по надежным каналам (по телефону или при личной встрече). Помните, что подписывая открытый ключ, вы подтверждаете его подлинность. Не проверяя отпечаток, вы можете довериться подмененному ключу, что недопустимо. После проверки отпечатка введите команду sign. Укажите, должна ли будущая подпись быть экспортируемой вместе с открытым ключом, или же только локальной. Выберите степень Вашего доверия к данному открытому ключу. Затем введите ключевую фразу своего закрытого ключа. Ключ подписан. Для проверки можете ввести команду check и увидеть только что сделанную подпись. Для выхода из режима редактирования введите команду q и не забудьте сохранить сделанные изменения.
Шифрование
Для шифрования нам необходим открытый ключ человека, которому предназначена шифруемая информация. Для шифрования самому себе можно использовать и собственный открытый ключ.
Чтобы зашифровать файл 1.txt, введите следующую команду:
gpg --output 1.gpg --encrypt --recipient <ключ> 1.txt
При этом можно указывать несколько получателей, перед каждым заново ставя --recipient. По умолчанию создается бинарный файл, для создания текстового файла укажите опцию --armor.
Для расшифровки необходим закрытый ключ, соответствующий открытому, которым шифровалось сообщение. Для расшифровки введите команду
gpg --output 1.txt --decrypt 1.gpg
Необходимо будет ввести ключевую фразу используемого ключа.
При необходимости gnupg может шифровать информацию с применением симметричных алгоритмов. Для этого к команде шифрования добавьте опцию --symmetric. Вас попросят ввести ключевую фразу, на основе которой будет зашифрован файл. Для расшифровки необходимо будет ввести эту же фразу.
Подписывание и проверка подписи
Существует 3 типа подписей. Для создания подписи необходим закрытый ключ, для проверки - открытый.
1. Обычная подпись. Команда:
gpg --output 1.gpg --sign 1.txt
При этом сам файл и его подпись будут объединены в отдельный файл. Прочитать этот файл просто так не получится. Для простой проверки подписи выполните
gpg --verify 1.gpg
Для того, чтобы извлечь сам файл, вместо --verify используйте --decrypt. При этом, несмотря на название ключа, закрытый ключ не потребуется.
2. Прозрачная подпись (Clearsign). При таком способе подписывания к исходному файлу добавляется подпись, при этом сам файл можно просматривать без использования gpg. Для создания такой подписи вместо --sign используется --clearsign.
3. Отделенная (detached) подпись. При этом исходный файл вообще не меняется, а подпись сохраняется в отдельный файл. Для этого используется ключ --detach-sign. Чтобы проверить подпись, необходимы и подпись, и сам подписанный файл. В команде проверки надо указывать оба файла:
gpg --verify 1.sig 1.txt
10 нояб. 2009 г.
Slackware. Сборка Apache Httpd 2.2.14 поверх 2.2.9
log.c: In function 'piped_log_spawn':
log.c:900: error: 'piped_log' has no member named 'cmdtype'
log.c: In function 'ap_open_piped_log_ex':
log.c:1039: error: 'piped_log' has no member named 'cmdtype'
make[2]: *** [log.lo] Error 1
make[2]: Leaving directory `/home/user/install/httpd/server'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/user/install/httpd/server'
make: *** [all-recursive] Error 1
Поиск по форумам ничего толкового не дал. Обновление библиотек apr и apr-utils тоже.
Сделал так:
Взял последнюю команду сборщика, после которой он выходил с сообщением об ошибке. Посмотрел подозрительные пути в параметре -I (указание на директорию, в которой нужно искать необходимые для компиляции библиотеки), увидел там старую директорию include. Попробовал ее заменить на новую и библиотека log.c скомпилировалась. Далее понял куда двигаться. Нашел все файлы в дистрибутиве httpd, в которых упоминается функция ap_open_piped_log_ex - 4 файла. Посмотрел где находятся найденные файлы *.h. Увидел, что они расположены и в старой (в уже установленном старом httpd), и в новой директориях include (в инсталляции). От старой директории избавился переименованием. Указание --includedir при ./configure тоже почему-то не помогло.
7 нояб. 2009 г.
Драйвера для ноутбуков
Так что, рекомендую :)
2 нояб. 2009 г.
Microsoft Office 2003. msgrru32.dll - ошибка.
Open Office. Отключить заставку
If you for whatever reason dislike OpenOffice.org’s logo or want to gain an extra few seconds of speed while the application loads, you can disable OO.o’s logo by editing the
/etc/openoffice/sofficerc
file and modifying the
Logo=1
value into
Logo=0
target="blank"
31 окт. 2009 г.
Sorry, GeoCities has closed.
Какой-то этот год выпался разрушительный. Кризисы, выборы, Oracle купил Sun, Microsoft Encarta закрыли... Теперь вот - "Sorry, GeoCities has closed". GeoCities - такой же старый, как интернет у нас в стране (от 1994 года), - перестал быть интересен Yahoo, купившего его за 3 млрд вечнозеленых. То есть, был интернет, был Yahoo, был GeoCities.Sad but true.
Сборник нормативных документов МОЗ Украины
Наткнулся на сайт "Нормативно-директивні документи МОЗ України". Нормативных документов я не рассматривал, но обратил внимание на описания лекарственных препаратов. Правда, вся информация - на украинском языке. Предполагаю, что должден быть соответствующий сайт на русском.
В чём разница между операторами «as» и «приведения»?
Большинство людей скажут, чт о разница между «(Alpha)bravo» и «bravo as Alpha» в том, что первое бросает исключение при неуспехе преобразования, а последнее возвращает null. Хоть это и правильно, и это самая очевидная разница, дело не только в этом. Здесь есть ловушки, которых нужно остерегаться.
Во-первых, поскольку результатом оператора «as» может быть null, целевым может быть только такой тип, который допускает значение null: либо ссылочный тип, либо Nullable тип-значение. Нельзя сделать «as int», это не имеет никакого смысла. Если аргумент не int, то каким должно быть возвращаемое значение? Выражение «as» всегда возвращает указанный тип, так что он должен быть типом, допускающим null.
Во-вторых, оператор приведения, как я уже обсуждал – странный зверёк. Он имеет два противоречивых смысла: «проверь, что этот объект действительно этого типа, брось исключение, если не так», и «этот объект не этого типа; найди мне эквивалентное значение, которое принадлежит этому типу». Второе значение оператора приведения не поддерживается оператором «as». Если вы написали
short s = (short)123;
int? i = s as int?;
то вам не повезло. Оператор «as» не станет делать изменяющие представление преобразования из short в nullable int, как стал бы оператор приведения. Аналогично, если у вас есть класс Alpha и несвязанный с ним класс Bravo, с пользовательским оператором преобразования из Bravo в Alpha, то «(Alpha)bravo» применит это преобразование, а «bravo as Alpha» – нет. Оператор «as» учитывает только ссылочные преобразования, и упаковку/распаковку типов-значений.
И, в-последних, сценарии использования этих двух операторов, конечно же, имеют поверхностное сходство, но весьма различны семантически. Приведение сообщает читателю «я уверен, что это преобразование законно, и я готов получить исключение при исполнении, если я ошибся» Оператор «as» сообщает «Я не знаю, можно ли провести это преобразование; мы дадим ему шанс, и посмотрим, что получилось».
30 окт. 2009 г.
Онлайновый растровый-редактор
Вот такой вот онлайновый редактор растровых изображений - pixlr. Основные инструменты, слои, набор фильтров... Имхо - довольно серьезная заявка на серьезность. Понятно, что полностью на Flash писан. Понятно, что не Photoshop. Но наряду с другими онлайновыми офисными сервисами - вещь очень полезная.
Пакетная обработка файлов изображений
#!/bin/bash
for file in *.jpg
do
convert -geometry '1024x768>' -quality 85 "$file" "${file%.???}_thumb.jpg"
done
изменяется размер иллюстрации до размера 1024x768 с сохранением пропорций и качество JPG устанавливается в 85. Обрабатываются все jpg-файлы в текущей директории.
26 окт. 2009 г.
Trud.ua + worksales.comua + work.com.ua

Рабочие места, однако!
Внимание! Требуются молодые, энергичные люди. Для работы агитаторами. з/п 100грн./день.
Бригадиры (старшие агит группы) з/п 130грн./день.
80971663xxx
Очень показательное объявление в период выборов.
Развивая тему можно будет в ближайшем будущем узреть следующие вакансии:
Требуются коммунисты
Требуются сексменьшинства
Требуются сторонники Ющенко
Требуются фанаты Тимошенко
Требуются борцы за правду
... з/п 100грн/день.
17 окт. 2009 г.
16 окт. 2009 г.
Linux Slackware. Установка Hamachi
Пошагово:
1. Качаем подходящий пакет отсюда. На данный момент там лежат 2 пакета:
hamachi-0.9.9.9-20-lnx-pentium.tar.gz и hamachi-0.9.9.9-20-lnx.tar.gz. В чем разница кроме размера - я так и не нашел.
2. Распаковываем.
tar zxvf hamachi-0.9.9.9-20-lnx.tar.gz
3. Инсталлируем
sudo make install
4. Hamachi пользует туннелинг, который должен быть в ядре. Либо впёрднут в ядро, либо подключен как модуль. Если туннелинг уже активирован, то будет присутствовать директория
/dev/net/tun
если нет - выполняем с правами рута:
modprobe tun
5. Затем, опять таки, от рута:
/sbin/tuncfg
6. Из под своего пользователя:
hamachi-init
Подготовка закончилась.
Потом можно вводить команды старта, логина, создания сети и т.д. Команды перечислены в README к пакету.
У себя я создал файл /etc/rc.d/rc.hamachi следующего содержания:
#!/bin/bash
###################################
### Start-up script for Hamachi ###
###################################
USER=rettpop
case "$1" in
start)
modprobe tun
/sbin/tuncfg
/bin/su - $USER -c "hamachi start"
/bin/su - $USER -c "hamachi join NetworkName NetworkPass"
/bin/su - $USER -c "hamachi go-online NetworkName"
;;
stop)
hamachi stop
;;
restart|force-reload)
hamachi start
hamachi stop
;;
*)
exit 1
;;
esac
exit 0
Запуск его прописал из rc.local. Работает.
Вот кратки перечень команд:
hamachi-init
Генерирует ключи идентификации для учетной записи
hamachi start
Запуск демона Hamachi
hamachi login
Активизация Hamachi
hamachi join <network>
Подключиться к сети
hamachi go-online <network>
Активизировать сеть
hamachi list
Вывести список участников сети
15 окт. 2009 г.
Бесплатность от Microfost
Microsoft объявила (правда уже 23/09/2009, но всё равно актуально) о запуске программы WebsiteSpark. Программа позволяет легально использовать ряд пакетов для web-разработки из Редмода. При этом должно соблюдаться несколько правил: маленький штат компании (до 10 работников), работа на сторонних заказчиков. Выдаются такой софт:
- 3 пользовательские лицензии на Visual Studio 2008 Professional Edition
- 1 пользовательскую лицензию на Expression Studio 3 (включающую Expression Blend, Sketchflow и Web)
- 2 пользовательские лицензии на Expression Web
- 3 4 процессорные лицензии на Windows Web Server 2008 R2
- 4 процессорные лицензии на SQL Server 2008 Web Edition
- Панель управления DotNetPanel (облегчает удаленное управление вашими серверами)
Выдается это всё на 3 года. В конце периода за участие программы предполагается возыметь с участников по $100. Если понравилось, то можно будет приобрести пакет софта за $1000.
Немного раньше Microsoft объявила подобную программу для софтверных стартапов BizSpark. Условия участия примерно те же - малый размер предприятия, трехлетний период.
Антикризисная, так сказать, программа.
14 окт. 2009 г.
Эппл тоже лажает...
Из-за ошибки в Mac OS X Snow Leopard пользователи лишаются личных данных
Пользователи Mac OS X столкнулись с серьезной проблемой: из-за странной ошибки в новой операционной системе Apple с кодовым названием Snow Leopard могут быть уничтожены все личные данные. Как сообщается на сайте технической поддержки Apple, проблема проявляется тогда, когда пользователь сначала входит в систему как гость (преднамеренно или случайно), а затем выходит из нее и вновь пытается войти, но уже через собственную учетную запись. В этом случае все настройки ОС и приложений сбрасываются до установок по умолчанию, а содержимое критически важных папок с документами, фотографиями и музыкой уничтожается. По предварительным данным, ошибка проявляется на тех компьютерах, которые были обновлены до Mac OS X Snow Leopard с предыдущей версии операционной системы, известной как Leopard. По словам пользователей, единственный способ вернуть потерянные файлы — восстановить их из резервной копии. Однако многие из пострадавших не копировали файлы в течение нескольких месяцев. «У меня было 250 Гб непродублированных данных, и я потерял всё: годы потраченных трудов на документы, фотографии, видео, музыку! Можно ли хоть что-нибудь восстановить?!» — восклицает одна из жертв. Компания Apple пока не комментирует ситуацию. Пользователям Mac OS X Snow Leopard в качестве временной меры рекомендуется отключить гостевую учетную запись во избежание возможных неприятностей.
Гонка вооружений среди софтописателей не дает писать качественный софт.
13 окт. 2009 г.
Ubuntu. Запуск rdesktop при загрузке
Поставил Ubuntu (7.10 Festy Favn). Отключил ненужные службы, настроил выключение машины по нажатию кнопки питания. Завел пользователя и поставил его как автологинящегося.
Затем в /usr/share/xsessions создал файл rdesktop.desktop (имя должно быть *.desktop) следующего содержания:
Код
[Desktop Entry]
Encoding=UTF-8
# The names/descriptions should really be better
Name=RDesktop -- название, отображаемое в списке сессий *dm
Comment=RDesktop session
#путь к команде, запускающей наш скрипт
Exec=/usr/share/rdsession
Icon=
Type=Application
Файл /usr/share/rdsession имеет следующий вид:
#!/bin/bash
while [ 1 ]; do
# Запускаем сессию в фуллскрине, с глубиной цветов в 16 бит и клавиатурной раскладкой en-us
/usr/bin/rdesktop -f -k en-us -a 16 [serverIP]
done
Естественно, выставляем ему атрибут +x.
При следующем запуске *dm в его списке сессий должен появиться RDesktop. Логинимся в него и на вопрос о запоминании его как дефолтного даем положительный ответ.
Формат cron-времени
минута час день_месяца месяц день_недели команда
------------------------------------------------
Допустимые значения:
минута от 0 до 59
час от 0 до 23
день_месяца от 1 до 31
месяц от 1 до 12 (можно три буквы из названия месяца,
регистр не имеет значения от jan до dec)
день_недели от 0 до 6 (0 это воскресенье,
можно писать от sun до sat)
7 окт. 2009 г.
Ускорение работы FireFox 3
1. Открыть Firefox и в адресной строке набрать about:config.
2. Согласиться с “Я обещаю быть осторожным“
3. Найти параметр network.http.pipelining и выставить его в True.
4. Создать новый логический параметр network.http.pipelining.firstrequest и взвести его в True.
5. Параметр network.http.pipelining.maxrequests выставить в 8.
6. network.http.proxy.pipelining установить в True.
7. Создать 2 целочисоленных параметра nglayout.initialpaint.delay и content.notify.interval. Установить их значение в 0.
8. Перезапустить Огнелиса.
4 окт. 2009 г.
В Украине в 2012 году не будет ни одного школьного выпускника
Відсутність випускників шкіл у 2012 році не зірве вступної кампанії
У Верховній Раді України за участю заступника голови парламенту Миколи Томенка та першого заступника міністра освіти і науки Олександра Гребельника відбувся круглий стіл, присвячений вступу до ВНЗ у 2012 році.
Ректори університетів та директори шкіл й ліцеїв висловлювали свої думки з приводу того, як безболісно для системи освіти пережити 2012 рік. Нинішні дев'ятикласники - перші, хто пройдуть 12-річну шкільну дистанцію, тому саме в 2012 році українські школи не випустять жодного випускника.
"Ситуація неприємна, але не катастрофічна. У 2012 році буде кому вступати до університетів, - вважає Олександр Гребельник. - Планується держзамовлення на рівні 115 тисяч осіб, і всі ці місця будуть зайняті. Хто ще крім випускників шкіл зможе вступати до ВНЗ? Це випускники минулих років. В останньому ЗНО їх брало участь близько 120 тисяч. Стати студентами вищих навчальних закладів можуть випускники ПТУ (з 230 тисяч осіб в університети йде 15-20 тисяч) та молодші спеціалісти (а це ще 15-20 тисяч). Таким чином, набігає 150-160 тисяч при держзамовленні у 115 тисяч. Для державних університетів ситуація не катастрофічна".
Ректори внесли пропозицію збільшити кількість вступників 2012 року завдяки екстернатному випуску. На їхню думку, частина учнів могла б проходити програму, розраховану на чотири роки, за три. Але яким чином тоді визначати, хто має закінчити школу раніше? Також можна заохочувати випускників минулих років вступати до університетів у 2012 році.
"Дванадцятирічна школа уже відбулася, а з наступного року вона стає ще й профільною, - наголосив директор Інституту інноваційних технологій і змісту освіти Олександр Удод. - Уже готуються підручники на профільні класи. І тоді буде видно чи є учні цих класів у перспективі студентами ВНЗ. Нічого страшного у 2012 році не станеться. У нас вже кілька років підряд в країні парадоксальна ситуація - місць в університетах більше, ніж випускників шкіл. Рік без випускників стане періодом "природного" відбору найсильніших ВНЗ".
Прес-служба МОН
В двух словах - в связи с тем, что девятиклассники нынешнео года представляют первое поколение школяров, которые перешли на 12-летнюю систему обучения, и таким образом перескочили через один класс, их выпуск состоится в 2013 году, а не в 2012, как при 11-летней системе. То есть, в 2012 году в Украинских школах не будет выпусков.
На первый взгляд нечего страшного... Но получается, что в этот год и новых абитуриентов в ВУЗах будет значительно меньше. Не знаю точно, чем это грозит ВУЗам, но предполагаю, что ничем хорошим. Паганели собрались по этому поводу и утешают электорат предположениями, что еще же есть выпускники техникумов, профтехучилищ, залётные заочники... Так же предполагают, что ситуацию можно поправить за счет экстернатов - вундеркиндов, проходящих школьную программу значительно быстрее своих убогих ровесников.
Интересно, вот, они только сейчас об этом задумались? Или когда вводили эту систему?
Я отчего-то не слышал подобного при переходе с 10-летней на 11-летнюю систему... Я сам в 7-м классе не учился - года 4 ждал, что у нас в 7-м классе начнется УПК (учбно-производственная практика, на которой можно было и права получить, и какому-то ремеслу научиться), а пока я дошел до окончания 6-го класса, нас сразу перевели в 8-й. И УПК не состоялась.
2 окт. 2009 г.
Гигантская анимация
COMBO a collaborative animation by Blu and David Ellis (2 times loop) from blu on Vimeo.
Поиск родственных сайтов
1 окт. 2009 г.
Препресс. Параметр Total Inc
30 сент. 2009 г.
FreeBSD. Блокировка пользователя
vipw Поставить любой символ, например звездочку, во втором поле - перед хешем пароля.
25 сент. 2009 г.
Mint (Ubuntu). VNC-viewer.
Linux. Однострочники
cat `ls /etc/*{-,_}{release,version} 2>/dev/null | head -n 1`
18 сент. 2009 г.
Сбор статистики по загрузке линий CO на АТС Panasonic KX TDA-200
cat capture.txt | grep -v "<I>" | awk '{print $4}' | sort -n | uniq -c | sed -e 's/^\s*//g' | tail -n +3
Выводится примерно такая табличка:
36 01
37 02
37 03
40 04
38 05
37 06
43 07
41 08
31 09
31 10
38 11
43 12
40 13
41 14
41 15
238 16
35 20
41 21
232 22
218 24
38 25
42 26
42 27
, где первый столбец - количество звонков, второй - номер CO. Собрав такую статистику за несколько дней получаем визуальную нагрузку CO-шек исходящими звонками.
16 сент. 2009 г.
Оказывается, Килобайт (КБ) не равен 1024 байт!
Желейные окошки KDE
В Opera Browser встроен поиск по сайту ВКонтакте.ру
В штатном поиске в Опере появился поиск по ВКонтакте. Подохреваю, что в англоязычной локализации там размещен FaceBook, но и это, имхо, знаковый показатель.
15 сент. 2009 г.
Anti-SSH Brootforce
iptables -I INPUT -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --rsource
iptables -I INPUT -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 180 --hitcount 5 --name DEFAULT --rsource -j DROP
Взято отсюда.
14 сент. 2009 г.
Скрипт резервного копирования файлов
#!/usr/bin/bash BKPDIR=`date +"%Y-%m-%d"` BKPPREFIX=`date +"%Y-%m-%d_%H-%M-%S_"` myhome=`echo ~` curdir="$myhome/backups/$BKPDIR" echo "making $curdir" mkdir -p $curdir echo "copy $1 to $curdir/$BKPPREFIX`basename $1`.bkp" cp $1 $curdir/$BKPPREFIX`basename $1`.bkp
Скрипт копирует переданный ему файл в ~/backups/[текущая дата]/[текущая дата+время]_[имя файла].bkp текущего пользователя.
Добавил его в /usr/local/bin и пользую перед каждым изменением конфигов.
Panasonic TDA-100/200. Мануал по программированию
На всякий случай - вот:
Часть 1
Часть 2
Часть 3
12 сент. 2009 г.
10 сент. 2009 г.
Robtex - швейцарский нож для интернет-информации

Наткнулся на сервис "Robtex swiss army knife". Сервис позволяет получить разнообразную информацию о заданном адресе - многих параметров я просто не знаю и не имел о них представления...
Удобности для меня:
- Shared - с какими доменами введенный адрес/домен соседствует.
- Graph - графическое отображение взаимосвязей записи домена.
- Whois - whois, собственно...
- Contacts - отображаются контактные данные, присутствующие в описании домена.
- BlackList - информация о наличии домена в черных списках всияких спам-листов.
В общем, действительно почти полный набор для анализа домена. Вкупе с www.nwtools.com, imho, составляют очень удобный наборчик интернетовских утилит.
9 сент. 2009 г.
8 сент. 2009 г.
Укртелеком меняет правила набора междугородних и международных номеров
Новий порядок набору міжміських та міжнародних номерів
Згідно з Наказом Міністерства транспорту та зв’язку України від 29.09.2008 №1200 "Про затвердження Плану переходу на перспективну систему нумерації телефонної мережі загального користування України" 14 жовтня 2009 року змінюється порядок набору міжміських та міжнародних номерів для абонентів мобільного та фіксованого зв’язку. Щоб вийти на міжміську телефонну мережу, потрібно замість міжміського префікса "8" набирати префікс "0", а для виходу на міжнародну телефонну мережу замість міжнародного префікса "8-10" – префікс "0-0".
Наприклад, щоб зателефонувати на міський телефон до Маріуполя, слід набирати номер наступним чином:
0 – Код міста (без першої цифри "0" в існуючому коді ) – Номер телефону абонента (0-629-123456).
Аналогічний порядок набору діє при здійсненні дзвінків на номери абонентів мобільних операторів України:
0 – Код мережі оператора (без першої цифри "0" в існуючому коді ) – Номер телефону абонента (0-67-1234567).
Для абонентів мобільного зв’язку порядок набору міжміських номерів у міжнародному форматі (через "+380") зберігається.
За кордон (міжнародний дзвінок):
0 – 0 – Код країни – Код міста/Мережі оператора – Номер телефону абонента
Наприклад, телефонуючи на міський телефон до Москви, слід набирати 0-0-7-495-1234567.
Для абонентів мобільного зв’язку порядок набору міжнародних номерів через "+" зберігається.
Зверніть, будь ласка, увагу: для Київської області вводиться новий власний код 45 замість коду 044. Наприклад, телефонуючи до м. Бровари, слід набирати 0-4594 та номер телефону абонента.
Вообще, как по мне - это жопа. Это ж сколько работы людям по исправлению телефонных книг в телефонах, наладонниках, компах?!...
Linux, FreeBSD. Установка MRTG
В общем, про MRTG написано много. Но я при его установке столкнулся с тремя сложностями.
1. Установка в Slackware Linux. Сборка пакета на всех машинах оканчивалась сообщением об отсутствии JPG-библиотек. Бился, пока не нашел описание проблемы... в документации :). Не, мануал по инсталляции я читал перед установкой. Но этот момент пропустил. Этой ошибки не возникает, если собирать пакет и необходимые библиотеки именно так, как указано в документации. То есть библиотеки собираются, но не инсталлируются. Конечное дефолтное конфигурирование происходит командой
./configure --prefix=/usr/local/mrtg-2 \
--with-gd=/usr/local/src/gd \
--with-z=/usr/local/src/zlib \
--with-png=/usr/local/src/libpng
, если, конечно, не нужны другие опции...
2. Установка во FreeBSD. Там всё решилось установкой из портов.
3. Ну, и регулярно возникала ошибка при запуске indexmaker (построитель index.html для начальной страницы просмотра графиков), говорящая о невозможности найти модуль Pod, которая разрешилась удалением соответствующей директории из etc/mrtg-2/ и доустановкой оного пакета по примеру этой заметки.
Здесь лежит набор скриптов, используемых в используемой мною конфигурации, которая лежит в том же архиве.
7 сент. 2009 г.
Perl. Инсталляция модулей
# perl -MCPAN -e shell
Затем:
cpan> install Bundle::CPAN
6 сент. 2009 г.
Дети глаголят.
Жена:
- Вот эта муха надоедливая...
Малый (6 лет):
- Она прилетела к братику. А он сдох.
Мы в отпаде...
Малый после непродолжительной паузы
- ...Сдох!
Занавес.
5 сент. 2009 г.
LetMeGoogleThisForYou.com - отмазка от дятлов
Наткнулся на интересный сервис http://lmgtfy.com - анимированный генератор запроса к Google. Нужен в тех случаях, когда задан какой-то тупой простой вопрос, ответов на который у всемирного разума - море. Например, что такоее авокадо? Ответ - ВОТ.
А сервис http://live.lmgtfy.com/ выводит в онлайне запросы, вводимые пользователями. Правда, своего запроса я там не увидел, но как точно работает система - не написано.
Дети глаголят
Прочитали. Жена просит пересказать сказку. Малый рассказывает, доходит до описания мышат:
- Мышата пели, плясали, были ленивые, потому что у них небыло телевизора...
(долгий продолжительный смех)
Жена начинает объяснять:
- Открою тебе секрет - если у человека даже есть телевизор и он постоянно лежит и смотрит его, то он тоже ленивый.
- Папе не рассказывать? - заговорческим шепотом спрашивает Малый.
(долгий продолжительный хохот)
- Мышата пели и плясали, вместо телевизора! - понял Малый.
(LOL :) )
4 сент. 2009 г.
FreeBSD. MRTG. Загрузка сетевого интерфейса
#!/bin/sh
/usr/bin/netstat -inb -I $1 > /tmp/nettraff.tmp
sleep 1
/usr/bin/netstat -inb -I $1 >> /tmp/nettraff.tmp
cat /tmp/nettraff.tmp | /usr/bin/awk '\
function abs(x){return x<0 ? -x : x}
NR==3 {in_beg = $7}\
NR==3 {out_beg = $10}\
NR==6 {in_end = $7}\
NR==6 {out_end = $10}\
END { print abs(in_beg-in_end) "\n" abs(out_beg-out_end) "\n0\n0" }'
Здесь 2 раза с перерывом в 1 секунду снимаются показания входящего и исходящего трафика на указанном интерфейсе и выводятся модули их разницы.
3 сент. 2009 г.
FreeBSD. MRTG. Загрузка процессора
/usr/sbin/iostat -w 1 -c 2 -t proc | tail +4 | awk '{print $3"\n"$5""\n0\n0}'
Должно теперь показывать корректно - первый выводимый параметр загрузка процессами пользователя (us), второй - системы (sys).
upd: 2009-09-04
P.S. Путь к утилите iostat указывать обязательно, иначе при запуске из крона она не будет найдена и, соответственно, данные не выведутся.
Онлайн-тренинги от Артура Крюкова
Хочется, чтобы подобных ресурсов было побольше... :)
Linux. Samba. Cups. Тонкие клиенты. Расшаривание принтеров
У T5125 с прошивкой Windows CE проблем не возникло:
- В настройках тонкого добавляется принтер, установленный на Windows-машине.
- В настройках RDP-сессии указывается использование установленного принтера.
- В настройках пользователя на терминальном сервере (Windows 2003) разрешается использование принтера пользователя в его сессии.
С Linux-тонкими возникли сложности. Пришлось поднять на Samba-сервере Cups и завести настроенные в нем принтеры через Samba. Инструкций по настройке Cups и Samba - океан и маленькая лужица. Единственное, с чем мне пришлось столкнуться, так это с непониманием того, как Samba получает список принтеров и как ей указать на расшаривание определенного принтера вместо полного списка. Нашел-таки в одном из мануалов по настройке Red Hat разъяснение. Samba получает список из файла /etc/printcap, генерируемого CUPS-ом при добавлении принтеров (естественно, всё это перенастраивается и файл может быть в другом месте, вообще не файлом, и не от CUPS-а). Фомрат этого файла и методы работы с ним подробно описаны в инете.
Далее. Samba ищет в своем конфигурационном файле раздел с параметром printer, который она рассматривает, как описание расшариваемого принтера. Параметр printer должен содержать имя или псевдоним одного из принтеров в списке /etc/printcap. Если этот раздел существует, в списке ресурсов Samba (ессно, если разрешено) отображается новый ресурс с именем раздела и описанием из параметра comment. Если же такого раздела в smb.conf не найдено, но присутствует раздел [printers], то последний дублируется для каждой записи в /etc/printcap, применяя для каждого принтера общие параметры. Ну, а на "нет" - и суда нет :).
Кусок моего smb.conf, относящийся к принтерам имеет теперь следующий вид:
load printers = no # Отключаем загрузку полного списка установленных принтеров, если нам нужны шары только некоторых.
printing = cups # Печать вдется через установленный CUPS
printcap name = cups
[HPLJ1320]
comment = HP Laser Jet 1320
printable = yes
path = /var/spool/samba
public= yes
guest ok= yes
printer admin= root
printer = HPLJ1320 #Это и есть имя принтера из /etc/printcap, который расшаривается
browseable = yes # Выводить ли принтер в списке ресурсов сервера.
Особых разъяснений, думаю, не требуется.
В такой конфигурации принтера подхватываются и Windows-, и Linux-десктопами, и тонкими клиентами. Единственное, что стоит дополнительно настроить, - это расшаривание пакета драйверов для разных операционок с самого Samba-сервера. Но мне это пока не нужно, а процедура описана в сети достаточно подробно.
После настройки печати через Samba осталось настроить Linux-тонкие. В обеих моделях были добавлены Samba-принтера. Сервер = [ip], Принтер = [имя ресурса принтера на Samba-сервере], login и pass - в соответствии с требованиями - на момент тестирования это может быть guest/guest. Так же необходимо выставить флаг Translate, значение которого я пока не понял. Ну, и в настройках RDP-сессии разрешить использование этого принтера.
В процессе настройки столкнулся с собственной ошибкой, когда тонкие клиенты получают IP от DHCP в подсети, отличной от подсети Samba-сервера. При этом, естественно, принтер не находится и печать на него идет в пустоту. После добавления тонкому адреса в нужной подсети печать пошла.




