Архив рубрики: Полезности

Huginn, Yahoo Pipes, Habr и фид ленты комментариев

Huginn Agent event flow

Понадобилось мне получать с Хабра ленту комментариев пользователя в каком-то удобном виде, чтобы не заходить периодически на сайт для проверки её обновления. Очевидное решение — RSS.

В базе Хабр позволяет подписаться на профиль пользователя, или, по RSS, на ленту его публикаций. А вот для комментариев подобной возможности не предусмотрено (сама лента комментариев имеет вид https://habr.com/ru/users/user-name/comments/).

Первая мысль — воспользоваться Yahoo Pipes, ведь когда-то уже использовал его для решения подобных задач. Увы — оказалось, что сервис давно закрыт. Помолчим минуту (он был хорош!) и рассмотрим доступные альтернативы.

Читать далее Huginn, Yahoo Pipes, Habr и фид ленты комментариев

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

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

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

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

# Autostart tmux on login
 __autostart_tmux() {
     # $( type -p ) - built-in in sh or bash only?
     #TMUX_BIN="$( whereis tmux | cut -d " " -f 2 )"
     # which versions different output format
     TMUX_BIN="$( which tmux 2> /dev/null )"
     if [ -z "${TMUX_BIN}" ]; then
         echo "Tmux not found"
         return 0
     fi

     TMUX_AS_SESS_NAME="$(echo "${USER}" | cut -c '1-3')"
     # return empty line if specified session exist or return 1
     TMUX_AS_SESS_RUN="$( tmux has-session -t "${TMUX_AS_SESS_NAME}" &> /dev/null || echo "$?" )"
     #TMUX_AS_DAEMON_MODE="$1" # $1 == "-d" or " "
     #TMUX_AS_EXIT="$2" # "return 0" or "exit 0"
    
     # do not attach automatically to tmux session if login on local XTerm
     if [ -z "${TMUX_AS_SESS_RUN}" ] && [ -z "${SSH_TTY}" ] && [ "${TERM}" = "xterm" ]; then
         echo "Tmux: running, not attached on local XTerm"
         return 0
     # do not run tmux automatically in another tmux (or screen)
     # in exists tmux session shell be started on non-login mode and .profile not used
     # (see set -g default-command "${SHELL}" in tmux.conf)
     elif [ -n "${TMUX}" ] || [ "${TERM}" = "screen" -o "${TERM}" = "screen-256color" ]; then
         echo 'Tmux: not be running in another terminal multiplexer "'${TERM}'"'
         return 0
     # attach to existed tmux session or create it and exit login-shell; or print error message
     else
         ((tmux has-session -t "${TMUX_AS_SESS_NAME}" && exec tmux attach-session -t "${TMUX_AS_SESS_NAME}") || (tmux new-session -d -s "${TMUX_AS_SESS_NAME}" && exec tmux attach-session -t "${TMUX_AS_SESS_NAME}")) && exit 0;
         echo "Tmux: autostart failed: $?"
     fi
 }
Читать далее Автозапуск tmux и автоподключение к нему

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

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

Цифровое телевещание 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/

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

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

В заметке рассмотрено использование многопоточного парсера Яндекс ТИЦ на примере обработки списка пользователей ЛиРу (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 удовлетворял, был благополучно приобретён, пробыл в эксплуатации пару месяцев, пережил две большие поездки, благополучно падал и впихивался в туго набитый рюкзак — в общем, он заслужил небольшой обзор, который и представлен ниже.

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

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

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

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

Низкоуровневое форматирование 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).

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

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