Я и мой ёбаный кот на фоне ковра. Войти !bnw Сегодня Клубы
УНЯНЯ. У нас есть немножечко инфы об этом пользователе. Мы знаем, что он понаписал, порекомендовал и даже и то и другое сразу. А ещё у нас есть RSS.
Теги: Клубы:

Спустя почти два года разработки представлена новая версия плагина облегчающего запуск внешних программ из XMPP-мессенджера mcabber под названием mcabber-commands-0.7. В новый релиз вошли следующие изменения:
* Исправлено падение модуля в случае ошибок при компиляции регулярных выражений. Вместо этого будет выведено диагностическое сообщение, а сама команда с проблемным регулярным выражением не будет добавлена.
* Включено подавление вывода от запускаемых программ.
* Улучшен разбор команд для выполнения. Теперь аргумент передаваемый в программу может содержать двойные кавычки, которые не будут вырезаны.

Похоже, пришло время пояснить по хардкору, что же такое mcabber-commands и нахуя мы с лайколом его юзаем.

mcabber-commands перехватывает все входящие сообщения, ищет в них заданные регулярки и добавляет сматченное в комплишен-листы мкаббера. Таким образом, можно быстро достать кусок недавнего сообщения из нужного комплишен-листа и передать внешней команде.

Юзкейз первый: ссылки.

Мне по сто ссылок на дню приходит (в основном от bnw и point). Я заебусь мышкой по каждой из них кликать, чтобы посмотреть свежие новости и смехуёчки. Поэтому я пишу в mcabberrc следующее:

add_custom_command ff .* https?://(?!(([a-zA-Z0-9_-]+[.])?((point|bnw)[.]im)))\S+ firefox %s

После этого, чтобы открыть недавно пришедшую ссылку, я набираю /ff и жамкаю Tab, чтобы подставилась последняя ссылка, а затем жму Ret, чтобы ссылка открылась в браузере. Да, если жамкнуть Tab дважды, то ссылка подставится предпоследняя.
Разберём подробнее мною тут написанное. Команда add_custom_command принимает четыре аргумента:
1. ff — имя комплишен листа. Комплишены будут доступны после того как в мкаббере будет набран слэш, имя комплишен листа и пробел.
2. .* — регулярка для матчинга имени собеседника. Ссылки я открываю от всех существ из ростера, так что тут .*. Для комплишена для bnw можно тут написать например bnw.im.
3. https?://(?!(([a-zA-Z0-9_-]+[.])?((point|bnw)[.]im)))\S+ — регулярка, которую нужно извлекать из входящих сообщений. Чтобы не замусоривать комплишен-лист, ссылки на посты на бнв и пойнте этой же регуляркой отфильтрованы. Из каждого входящего сообщения извлекаются все подстроки удовлетворяющие регулярке. Все эти подстроки будут добавлены в комплишен лист в порядке получения. Если в комплишен-листе уже есть такая подстрока, то она переместится наверх списка.
4. firefox %s — команда, которую нужно выполнить после нажатия Ret. Вместо %s будет подставлено всё что было написано после /ff.

Юзкейз второй: успешный микроблоггинг.

В интернете зачастую кто-то неправ, поэтому приходится многое вам объяснять. Чтобы не набирать мучительно долго номера постов и комментариев, у меня в mcabberrc есть такая вот запись:

add_custom_command bc bnw.im \b[A-Z0-9]{6}(/[A-Z0-9]{3})?\b sh .mcabber/sayto bnw.im "c -m %s" rcode

Итак, мы видим, что создаётся комплишен лист /bc, в который попадают все подстроки типа IQ3OP2 или S7PIEF/H6W, поэтому набрав /bc и нажав единожды Tab я получаю в строке ввода мкаббера, например, вот это: /bc IQ3OP2 после этого остаётся только дописать осмысленный текст: /bc IQ3OP2 ты — хуй, нажать Ret и при помощи нехитрого скрипта новый комментарий будет добавлен к посту штилетты.

Прочее

Сырцы лежат здесь: https://github.com/hirthwork/mcabber-commands/
Ебилд здесь: https://github.com/hirthwork/ncursed-desktop/blob/master/net-im/mcabber-commands/mcabber-commands-0.7.ebuild

Подробнее про выполняемые команды.
Можно писать так: firefox %s, можно так: firefox "%s", и даже так: firefox "http://ya.ru %s" %s (нахуя?).
Нельзя писать так: firefox "%s %s", так: firefox "%s"test и так: firefox test"http://ya.ru %s". Падать не должно, но работать будет не так как хотелось бы.
Количество слов в команде ограничено 32мя, остальное будет отброшено.

#JS7IQU (16+1) / @hirthwork / 3667 дней назад
#Z76MZC (5+1) / @krkm / 3669 дней назад
Официальное руководство по NetworkManager: 1. Булки раздвигаешь
#YHV5UQ (6+1) / @ckorzhik / 3669 дней назад

https://www.kickstarter.com/projects/nophone-usa/the-new-and-unimproved-nophone удобно // кусочек пластика, имитирующий смартфон. тип для избавления от зависимости.

#KQ7I7V (4+1) / @like-all / 3669 дней назад

@like-all, я тебе наврал раньше (сорь): по debian policy диктуется, что debian/rules должен быть именно мейкфайлом, а не произвольным скриптом/бинарником. // но при этом выполнимым и с корректным шебангом

It must start with the line #!/usr/bin/make -f, so that it can be invoked by saying its name rather than invoking make explicitly. That is, invoking either of make -f debian/rules args... or ./debian/rules args... must result in identical behavior.

Тупое требование, я б легко на него взложил хуй (если б очень надо было), но теперь ты знаешь больше.

#Y53IFQ (9+3) / @ulidtko / 3669 дней назад
#AFJK31 (22+4) / @krkm / 3672 дня назад
До четырёх утра еб^Wигрался с crossdev, пытаясь собрать себе окружения для кросскомпиляции в i686 (нужно для distcc для нетбука). В четыре утра оно таки перестало бесконечно форкаться, увидело все необходимые ебилды и начало что-то компилить. Оставил на ночь. Утром оказалось, что оно зафейлилось на первом же пакете из-за конфликта в именах файлов. Едва сдерживаю брань.
#W12LI1 (14+1) / @minoru / 3673 дня назад
Чем в рилтайме рисовать ЭЭГ в телевизор из пайпа? http://www.lysium.de/blog/index.php?/archives/234-Plotting-data-with-gnuplot-in-real-time.html тормозит ппц.
#3EDZZ8 (3+1) / @l29ah / 3674 дня назад
Прикрутил либу из предыдущего поста к своей опердени для умнодома, теперь могу включать и выключать настольную лампу и уф-лампу мышкой из браузера с жавоскриптом (без него не работает, там AJAX во все поля). Будущее!
#XV4G9T (9+1) / @lexszero / 3674 дня назад
Накодил простенькую либу для юзания 1-Wire девайсов через owserver: https://github.com/lexszero/ownet Пока там только строковые дергалки а-ля owfs и простые врапперы, абстракции для устройств и аттрибутов писать лень.
#UMO8W7 (4+2) / @lexszero / 3674 дня назад
Эта игра приносит разработчикам $4.9kk в сутки. А ты продолжай передергивать на свой хачкель, неудачник. http://i.imgur.com/VgUf08v.png
#AS8VT7 (12+6) / @krkm / 3677 дней назад

у знакомого чувака др, 25 лет
пилит концерт
уходишь с работы пораньше™
дуешь дудку
приезжаешь в фантастическом кабриолете (на самом деле нет) куда-то в ебеня
заходишь
неплохо играют
шныряют хипсторы
у многих охуевшие бороды
много студентоты
подходят тянки с национальной атрибутикой
оказываются финками из универа Glasgow в Хельсинки, приехали делать диплом
играют вообще недурно
душевно играют
пьём шампанское (и фины — водку), материмся по-фински, обсуждаем политику и всякое
френдимся в фейсбучиках
спишь
приходишь в епам заебывать тупыми вопросами по хаскельной вакансии
пьёшь уличный кофе (создаёшь спрос чуваку в машинке, чтоб не голодал+не мёрз)
мороз, заебись погодка
приходишь в глобал
бнвощ

#3JZDVM (97+2) / @ulidtko / 3677 дней назад

Запустил андроидовый Skype в Google Chrome. У меня от этого БУДУЮЩЕЕ.

#UGP3CD (3) / @like-all / 3677 дней назад
Довел до приличного состояния и делюсь апплетами status-wifi (шифи соединение) и status-bat (батарея). status-bat поддерживает события udev (выпиливаемо конфигом сборки) и может обновлять свое состояние сразу как прыщи осознали выдернутый или воткнутый AC-адаптер.
#FSQOSQ (25+2) / @stiletto / 3677 дней назад
--
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.