Posts belonging to Category Полезности



Bshellz shell autorenew — IRC-perl-скрипт для обновления аккаунта в Bshellz

Как-то я писал про бесплатный linux shell от провайдера Bshellz в заметке Бесплатный Linux-shell с Tmux на борту. Там же был приведён способ автоматического продления аккаунта — путём отправки (по расписанию) служебного сообщения боту Beschbot с помощью имеющегося на самом хостинге IRC-клиента irssi. Время показало, что способ, как и следовало ожидать, не лишён недостатков. А именно — периодически сервер Bshellz перезагружается, после чего настройка расписания в irssi слетает. Также — несколько раз наблюдались проблемы с подключением клиента к сети Freenode IRC. В результате возникло решение зарезервировать автообновление аккаунта в Bshellz путём использования дополнительного внешнего скрипта, также запускающегося по расписанию (раз в день в произвольное время, на домашней машине).
(далее…)

Автозапуск tmux и автоподключение к нему

Сделал себе автоподключение к сессии tmux (или автозапуск tmux-сервера с новой сессией, если её ещё нет) при заходе в локальную консоль или при подключении по ssh к удалённым машинам (пользоваться бесплатным шеллом bshellz стало удобней).

Для этого вписал в свой пользовательский ~/.profile вот такое:
(далее…)

VCSH — спасение настроек в $HOME

Как ни странно, я только недавно познакомился с VCHS — надстройкой над Git, призванной облегчить резервирование конфигурационных файлов, расположенных в домашней директории (Version control system for $HOME — один из вариантов расшифровки аббревиатуры). Очень жаль, что этого не произошло раньше, и бэкап конфигов делался нерегулярно, кое-как, с изобретением различных костылей. Но, всё это в прошлом! Итак, что же представляет собой VCSH и как ей пользоваться?
(далее…)

Цифровое телевещание IPTV

www.oc.ru
IPTV — цифровое телевидение, использующее интернет-протокол (IP). Услуга IPTV входит в сервисный пакет провайдера, то есть той организации, которая оснащала ваше жилье подключением к сети Интернет или ставила широкополосной ADSL — модем. Как предоставляется такая услуга и при каких условиях можно узнать на официальном сайте провайдера – здесь же скачать и плей — лист (список каналов) IPTV. Иногда провайдеры дают зашифрованный цифровой поток за дополнительную плату. В этих условиях требуется специальная телеприставка — плей-лист не поможет.

Как смотреть IPTV

  • Использовать телевизор SMART (со встроенным доступом к интернету) — некий симбиоз компьютера и TV. Поэтому, если вы хотите поменять старый телевизор и уже имеете дома качественный интернет — поинтересуйтесь моделями, которые имеют Ethernet или порты Wi — Fi и «дружат» с IPTV. Специалисты говорят — лучше подойдут определенные модели корейских брендов, в которых «прошит» специальный IP- проигрыватель. Останется только скачать плей — лист вашего поставщика интернета — и смотреть.
  • В роли сервера применить свой компьютер. Это можно сделать, установив на него программу, которая будет транслировать цифровой поток в формате, «понятном» для телевизора (DLNA). Компьютер работает как «переводчик» для телевизора. Недостатки этого способа: во время просмотра телепередач компьютер должен работать.
  • DLNA–сервер установить непосредственно на роутер. Для этого понадобится перепрошить роутер — сделать его «переводчиком» сигнала IPTV для телевизора. И тогда компьютер уже включать не надо.
  • Использовать IPTV на компьютере или соединить его видеокабелем с телевизором. Способ самый простой и наименее затратный — подойдет для любителей минимализма, которым не важен 40 — дюймовый экран. Скачайте плей-лист — и смотрите себе телепрограммы на здоровье. Платить будете только за интернет, без дополнительных затрат на оборудование.

Бесплатный Linux-shell с Tmux на борту

Возникла у меня как-то нужда в получении linux-shell на стороннем сервере с постоянным доступом в сеть (тот же парсер ТИЦ запустить например). При этом шелл должен был удовлетворять двум условиям: быть бесплатным и иметь возможность оставить запущенное приложение работать «в фоне», без поддержания постоянного соединения удаленной машиной. Помимо этого, хотелось несколько большего, чем возможность использовать простые dtach или nohup, а значит — нужно наличие на удаленной машине терминального мультиплексора (Screen или Tmux). Мой выбор пал на bshellz, удовлетворяющий всем условиям, включая наличие Tmux. Вот что они предлагают после прохождения бесплатной регистрации:

— Возможность разместить свой сайт на домене http://имя_пользователя.bshellz.net
— 50 Мб дискового пространства
— Электронный адрес вида: имя_пользователя@bshellz.net
— Возможность использовать одну базу MySQL, наличие phpmyadmin: https://services.bshellz.net/phpmyadmin/

(далее…)

Парсинг Яндекс ТИЦ на примере списка пользователей ЛиРу

В заметке рассмотрено использование многопоточного парсера Яндекс ТИЦ на примере обработки списка пользователей ЛиРу (Liveinternet). Для запуска понадобятся: bash (под Windows можно использовать cygwin), perl, wget и, для большего удобства представления результатов, — sort. Все эти утилиты присутствуют практически в любой *nix-ОС или могут быть установлены в cygwin.
(далее…)

Обзор Archos 101 G9 — мой выбор недорогого функционального планшета

Обзор планшета Archos 101 G9После пары месяцев раздумий, чтения обзоров и сравнения характеристик, я наконец сумел остановиться на конкретной модели планшета, которая полностью подходила бы под мои требования. Планшетом этим стал «француз» китайской сборки под названием Archos 101 G9 Tablet 8Gb — достаточно бюджетный (по сравнению с iPad по крайней мере); оснащён всем, что нужно для комфортной работы; дополнительные свистелки подключаются через обычный USB — не нужно платить тонны денег за «оригинальные разъемы».

Требования к планшету были следующие:

  • Цена до 10 тыс. рублей, чтобы было не жалко таскать с собой в поездки и вообще не жалко покупать;
  • Емкостной экран размером не меньше 10 дюймов — посмотреть кино, интернет, при необходимости — набрать текст;
  • Достаточная продолжительность работы — 7 часов просмотра видео хватает как раз на пару фильмов, читать можно вообще целый день;
  • Не слишком слабое железо — чтобы не наблюдалось тормозов в видео и при чтении PDF и DjVu;
  • Поддержка последних версий Android, присутствие Google Play (Market);
  • Наличие Wi-Fi не обсуждается, сейчас это по-моему есть везде. GPS и выход mini-HDMI — в виде бонуса; поддержка microSD тоже по-моему есть во всех современных устройствах (кроме некоторых, «особенных»);
  • Наличие USB-хоста для подключения флешки или GPRS-модема — очень удобно; откидная ножка на корпусе — отличная идея, не нужны чехлы и подставки при чтении.

Всем этим условиям Archos 101 G9 удовлетворял, был благополучно приобретён, пробыл в эксплуатации пару месяцев, пережил две большие поездки, благополучно падал и впихивался в туго набитый рюкзак — в общем, он заслужил небольшой обзор, который и представлен ниже.

(далее…)

Автонумерация строк таблицы в LibreOffice Writer

Недавно ломал голову над проблемой автоматической нумерации строк в таблице LibreOffice Writer. Просто «растянуть» диапазон, как в Calc или Excell, там невозможно (по крайней мере в версии LibreOffice 3.4.5, которой я пользовался). Зато в ячейки таблиц можно вставлять формулы — именно с их помощью в итоге и получилось сделать автоматическую нумерацию строк.

Для начала нужно вручную задать номер первой строки, с которой будет начинаться нумерация (в примере он задан в ячейке A1), а затем вставить в ячейку на следующей строке формулу с номером ячейки в предыдущей строке, увеличенным на единицу (или другой шаг, если нумерация нужна не по порядку). Для вставки формулы в пустую ячейку надо ввести знак «равно» — появится строка для ввода формул. Формула для нумерации строк по порядку может выглядеть так: =<A1>+1.
(далее…)

Низкоуровневое форматирование flash/sd/microsd под Linux

Несколько раз приходилось форматировать флешки (к которым относятся и различные SD и microSD карточки), а поскольку происходит это довольно редко — вынужден был лезть в гугл. Конспективная памятка по форматированию флешек под Linux:

Проверить подключение flash

fdisk -l
Выведет список подключенных дисков и их разделов. Обычно флешка — /dev/sdb, но нужно обязательно проверить, так ли это!

Проверить, примонтирована ли флешка

df -h
Если флешка примонтирована — покажет это и точку монтирования. Перед форматированием — отмонтировать: umount /dev/sdb.

Проверить защиту от записи и геометрию

При желании — можно проверить защиту от записи и геометрию (защита от записи в линуксе не важна):
hdparm /dev/sdb.

Если нужно низкоуровневое форматирование — забить нулями

dd if=/dev/zero of=/dev/sdb.
В выводе покажет объем флешки (должен соответствовать заявленному), скорость и время записи. Также покажет, сколько было записано байт на флешку, что полезно при проверке флешки на физические ошибки (см. ниже).

Проверить на физические ошибки

head -c N /dev/sdb | md5sum
head -c N /dev/zero | md5sum
где N равно числу байт, записанных на флешку при помощи dd. Если контрольные суммы не совпадают — флешка «битая» или были ошибки записи (в реальности сталкивался с форматированием microSD через плохой кард-ридер — даже когда не выскакивали ошибки ввода-вывода при операциях — контрольные суммы не совпадали, с заменой кард-ридера проблема ушла).
Пример:

dimio@ibm $ dd if=/dev/zero of=/dev/sdb
dd: запись в «/dev/sdb»: На устройстве кончилось место
3932161+0 записей считано
3932160+0 записей написано
 скопировано 2013265920 байт (2,0 GB), 1010,99 c, 2,0 MB/c
dimio@ibm $ head -c 2013265920 /dev/zero | md5sum
5d0fd6273bed1c500c6fc22d86a59630  -
dimio@ibm $ head -c 2013265920 /dev/sdb | md5sum
5d0fd6273bed1c500c6fc22d86a59630  -

Ну и для полного счастья при желании:

dimio@ibm $ perl -we '
> print "OK" if q{5d0fd6273bed1c500c6fc22d86a59630}
> eq q{5d0fd6273bed1c500c6fc22d86a59630};'
OK

Разбиваем на разделы при помощи fdisk

fdisk /dev/sdb
Опции: m — справка, d — удалить раздел, p — просмотреть список разделов, n — создать раздел, t — поменять тип раздела, w — сохранить изменения.

Последний шаг — создать файловые системы на разделах флешки

mkfs.ext{2,3,4} /dev/sdbX
где X — порядковый номер раздела, на котором нужно создать файловую систему.
Также полезны: mkfs.msdos, mkfs.vfat (создаёт «стандартную» файловую систему флешек — vfat).

Если что-то осталось непонятным или есть дополнения и замечания — добро пожаловать в комментарии! 🙂

каталог интернет магазинов Москвы

Автоматическая проверка готовности загранпаспорта

Гос. органы идут в массы, постоянно вводят новые, удобные для граждан (по крайней мере на первый взгляд), формы взаимодействия.
К такому нововведению можно отнести и сервис проверки готовности загран. паспорта на сайте УФМС, расположенный по адресу http://www.ufms.spb.ru/checkzp.php. С помощью сервиса можно быстро узнать, готов ли загран. паспорт или еще находится в процессе оформления, введя в поля формы данные своего гражданского паспорта (также доступна проверка по данным из свидетельства о рождении).

Всё в принципе хорошо и удобно кроме одной мелочи — чтобы воспользоваться проверкой готовности — нужно периодически вспоминать о ней и заходить на сайт. По-моему, приделай УФМС автоматическое оповещение о готовности паспорта по электронной почте — сервис выглядел бы законченным и действительно удобным в использовании.

Но раз УФМС не идет на встречу гражданину, значит гражданин должен сам облегчить себе жизнь. Я решил сделать это используя три простых и доступных инструмента: консольный браузер lynx (для отправки данных формы POST-запросом), планировщик заданий cron (для периодической проверки готовности загран. паспорта) и утилиту поиска по тексту grep (для поиска нужной строки в дампе страницы), для чего написал простенький скрипт, который закинул в cron. Скрипт с указанным в кроне периодом проверяет готовность моего паспорта и присылает мне отчет на электронную почту (которая указана в настройках крона).

#!/bin/sh
echo "checkser=p&seriap=XXXX&numberp=YYYYYY&submit=%CF%F0%EE%E2%E5%F0%E8%F2%FC" | lynx -post_data -dump http://www.ufms.spb.ru:80/checkzp.php | grep 'Ваш заграничный'

Вместо ХХХХ нужно подставить серию своего гражданского паспорта (макс. 7 символов, что, как я понимаю, позволяет использовать серии старых паспортов, с римскими цифрами), а YYYYYY заменить соотв. на его номер (макс. 6 символов). Если запускать скрипт из-под английской локали, то шаблон для grep надо изменить с ‘Ваш заграничный’ на ‘Vash zagranichnyj’, поскольку скрипт отдаст страницу в латинице.

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

Дополнение:
Если сайт проверки готовности загранника постоянно «радует» сообщением о превышении числа запросов, можно пропустить их через tor. В этом случае удобно будет воспользоваться другим способом отправки форм POST-методом из lynx — записать автоматический скрипт, который и будет осуществлять проверку.

Посутпаем следующим образом:

  1. вызываем lynx с ключем cmd_log=имя_файла_куда_сохранить_скрипт:
    lynx -cmd_log=script_name http://www.ufms.spb.ru:80/checkzp.php,
    вводим серию и номер паспорта, отправляем запрос, дожидаемся загрузки страницы с ответом и закрываем браузер.
  2. в дополнение к tor устанавливаем torsocks — утилита несколько сырая, но дело своё делает исправно, перенаправляя траффик на tor (можно естественно использовать любой понравившийся прокси, указав его в качестве умолчального export http_proxy="address:port").
  3. вызываем lynx через torsocks или выбранный прокси с указанием использовать для автоматизации отправки данных формы записанный ранее файл скрипта с передачей результатов работы на разбор в grip:
    torsocks lynx -cmd_script=script_name http://www.ufms.spb.ru:80/checkzp.php | grep «Ваш заграничный»

Всё, автоматизация проверки готовности заграничного паспорта успешно проведена! Пока скрипт работает за человека, человек может расположиться у телевизора и спокойно отдохнуть 🙂