Со времён старого доброго Delphi 7 ни разу не кодил ничего GUI’ёвого, а тут чёрт дёрнул скачать ADT Bundle. И как-то сама собой написалась простая утилитка, функционала которой хотелось уже давно.
Задача её состоит в том, чтобы выводить настраиваемое напоминание при попадании в зону действия выбранной сети. Таким образом, можно напомнить себе о чём-то, когда попадёшь в указанное место. Определение места по имени беспроводной сети позволяет отказаться от GPS и сэкономить заряд аккумулятора. С этой же целью программа не «будит» устройство периодически, а активируется только когда устройство «проснётся». Поэтому если вы прибыли в нужное место, но ни разу не «разбудили» там аппарат, программа не сработает.
Read more

Утомившись ежедневно просеивать тонны шлака в поисках одной-двух действительно интересных новостей, решил натравить на новостную ленту наивный байесовский классификатор (широко используемый, например, для автоматической фильтрации спама). Для его тренировки добавлял к каждой новости две ссылки: “отстой” и “не отстой”, на которые тыкал в течение несколько дней. Там же выводил результат применения классификатора к этой новости.
Под конец обучения абсолютно все новости стали валиться в категорию “отстой”.
Конечно, в используемой библиотеке могли быть проблемы с кириллицей, или в мой код ошибка вкралась, но подопытный сайт из закладок я все-таки удалил.

Долгое время пользовался файрфоксовым расширением Dictionary Tooltip в связке с Яндекс.Словарями для перевода слов во всплывающем окне, без необходимости покидать страницу. Когда оно сломалось, я решил, как водится, модифицировать что-нибудь из имеющегося. Выбор пал на расширение English 2 Bangla Dictionary, не требующее, к тому же, перезагрузки браузера.
Изменил название, поменял адрес запроса на m.slovari.yandex.ru, добавил яндексовскую иконку в контекстное меню и получилось вот это:
 yandex-dictionary.xpi (v1.1.0)

Для перевода слова нужно его выделить и либо нажать Ctrl+G, либо выбрать пункт “Яндекс.Словари” в контекстном меню.
UPD: На сайте Dictionary Tooltip появилась рабочая версия расширения. Кстати, оттуда же я узнал про версию для Chrome.
UPD2: Похоже, с выходом Firefox 22 что-то поломалось. Расширение не работает. :(
UPD3: Поступила информация, что на некоторых конфигурациях в Firefox 23 расширение все-таки работает.
UPD4: Переписал всё с нуля, теперь должно работать везде.

Наконец-то нашел плагин для Пиджина, размещающий список контактов и разговоры в одном окне: Window Merge. Оценив удобство такого подхода, долгое время использовал Гаджим, но хотелось чего-то побыстрее и менее питонистого. Вот как выглядит Пиджин после компиляции и установки плагина:

UPD: Собрал RPM-пакет версии 0.3 для Fedora 18 64-bit:
pidgin-window_merge-0.3-1.fc18.x86_64.rpm

Не выдержал и написал скрипт, превращающий графические смайлики в текст. Использую его на паре-тройке регулярно посещаемых мной форумов, но при желании код нетрудно адаптировать для практически любого произвольного ресурса.
Было:

Гыыы лол lol hello flower blob appl

Стало:

Гыыы лол :D [hello2.gif] [flower.gif] [blob8.gif] [appl.gif]

Скачать скрипт:
 smileys_must_die.user.js
В начале скрипта находится список правил в формате [‘фильтр’, ‘замена’]. Скрипт ищет все картинки на странице, и для каждой из них проходит по списку правил. Если в адресе картинки содержится строка “фильтр”, то картинка замещается текстом из “замены”. Если “замена” при этом пустая, то отображается просто имя файла, например [sad_smiley.gif].
Чтобы добавить произвольный сайт, можно забить в таблицу адреса всех встречающихся смайлов и/или составить один общий фильтр (как правило все смайлы лежат в одной специальной папке на сервере). Также надо включить выполнение скрипта по нужному адресу в настройках Greasemonkey.

Под Linux существует несметное количество программ, уведомляющих о новых письмах, но можно организовать их проверку с помощью скрипта, периодически вызываемого через cron. При этом в памяти ничего сидеть не будет, а действие на прибытие почты можно назначить практически любое. Вот, например, скрипт для Gmail:
Read more

Гугль тут снова все улучшил, приходится улучшать его обратно.
Убрать предпросмотр страниц: Google preview killer.
Отключить анимацию кнопки “+1”: remove the plus one mouseover.
Убрать эту кнопку совсем можно добавлением фильтра ##button.esw в Adblock Plus.
UPD: Скрипт, убирающий предпросмотр страниц и возвращающий назад ссылки “Cached” и “Similar”.

Оказывается, проигрыватель моего Андроида не знает, что потоковое аудио бывает в формате Ogg Vorbis. В связи с этим, чтобы заработал звук в MPDroid, пришлось установить MPD с поддержкой LAME (MP3). В Убунту для этого оказалось достаточно включить репозиторий maverick-proposed и обновить пакеты. После этого в файле конфигурации MPD можно указывать lame вместо vorbis.

Решил написать про софт, который использую на телефоне. Может, кому-нибудь пригодится, как отправная точка для собственных поисков. Все приложения бесплатны, если не указано иное.
Read more

Написал простой и немного корявый скрипт для Greasemonkey, который показывает прямую ссылку на MP3-файл вместо Flash-проигрывателя на сайте dcdnet.ru. Ибо Chrome умеет играть MP3, а Флеш должен умереть.
 dcdnet_direct_mp3_link.user.js