Два года в /fg/. Войти !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 / 3666 дней назад
#Z76MZC (5+1) / @krkm / 3668 дней назад
Официальное руководство по NetworkManager: 1. Булки раздвигаешь
#YHV5UQ (6+1) / @ckorzhik / 3668 дней назад

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

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

#3JZDVM (97+2) / @ulidtko / 3676 дней назад
Довел до приличного состояния и делюсь апплетами status-wifi (шифи соединение) и status-bat (батарея). status-bat поддерживает события udev (выпиливаемо конфигом сборки) и может обновлять свое состояние сразу как прыщи осознали выдернутый или воткнутый AC-адаптер.
#FSQOSQ (25+2) / @stiletto / 3677 дней назад
http://googleonlinesecurity.blogspot.ru/2014/10/strengthening-2-step-verification-with.html уау tldr: в хроме появилась поддержка юсб-токенов для двухфакторной аутентификации в гоогле
#HYA6CQ (4+2) / @anonymous / 3677 дней назад
Напрогроммировал что-нибудь? Придумай ему умное название! Лучше всего придумать так, что оно было аббривеатурой. Тогда люди будут встречать его в тексте и, нихуя не понимая, что это за PH, и будут восторгаться перед продвинутой и сложной технологией, которую они не в силах понять — даже если это Polnaya Huinya. Сойдет и просто заумно звучащее. Правда, серьезный бизнес вас в этом случае не поймет. С монадами отлично прокатило. Ой, вы узнали, что функцию fold можно представить как катаморфизм! Отлично, будем называть ее катаморфизмом! Придумывайте умное название для своей технологии даже тогда, когда вы еще нихуя не сделали, и вообще нихуя не понимаете, что делаете. История NoSQL показывает, что даже в этом случае розроботчеги и инвесторы текут и записываются на курсы на курсерии. Придумай умное название, сука.
#QSX8KD (7+2) / @komar / 3677 дней назад
--
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

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