Recently I was struggling to make tab close icons look closer to Breeze theme. Now I managed to make tabs look Breeze-ish too! The icon rules are also better now, opacity works without superposition problems:

Firefox tabs a-la Breeze

Firefox tabs a-la Breeze - circular icon

Read more

openHAB site openHAB chart

In this post I want to share some details about my simple low budget smart home system based on 433.92 MHz receiver/transmitter controlled by Arduino. It can be easily extended with many cheap wireless devices, such as door bells, remote sockets, smoke alarms, leak detectors, etc. I’ll describe how to control remote socket, receive alarms from wireless smoke detector and draw a plot of room temperature obtained from regular wired sensor.

Read more

Ever since I’ve learned about alternative router firmware I wanted to give it a try. With bugs and security holes being found in vendor firmware every now and then it was becoming even more relevant. Being an open source software advocate, I was mostly looking into OpenWrt. Unfortunately, my hardware was either not supported (ZyXEL P660 ADSL router) or in some early alpha stage (D-Link DIR-300). But then I learned about a reasonably cheap TP-LINK TL-WR841N[D] router which has good OpenWrt support. So I bought it (for ~18 €, got version 9.2) and immediately flashed OpenWrt on it — which was super easy: I just uploaded .bin file and waited for reboot.

Read more

I’ve recently updated my little wallpaper generator app with classic “plasma” effect. For some reason it looks surprisingly well despite of 256-color palette. Also, simple diagonal stripes (á la Material design) were added. The latter are produced by rotating canvas by 45°, drawing horizontal stripes and then rotating back. To prevent cropping the edges, a very big canvas is created initially and this may cause memory problems. Please report any errors.

WPGen - обои-плазма WPGen: stripes (Material)

PS: Yeah, I’ve switched from CyanogenMod 12.1 to some Android 6 ROM in the process. Wi-Fi wasn’t connecting when the screen was off, making Wi-Fi Reminders barely useful, but now all is good on Marshmallow.

PPS: Does the image on the right seems wider to you too? They are actually the same size. :)

Обои без резких цветовых переходов с удачно подобранной палитрой делают иконки и виджеты на экране разборчивей, облегчая работу с устройством. Я решил написать утилитку, позволяющую установить однотонные обои заданного цвета, а также обои в виде некого «гладкого» рисунка на основе нескольких выбранных цветов. Если по первому пункту вопросов нет, то с генерацией рисунка пришлось немного повозиться.

WPGen - палитра WPGen - одноцветные обои

Read more

Перевод статьи «Google’s iron grip on Android: Controlling open source by any means necessary».

Железная хватка Google: контроль над открытым кодом Android всеми доступными способами

Код Android открыт (за исключением самых лакомых его кусочков).

Рон Амадео, 21.11.2013

t_android-lockup1
Aurich Lawson

Шесть лет назад, в ноябре 2007-го, было объявлено о запуске проекта «открытый код Android» (Android Open Source Project, AOSP). Самый первый iPhone вышел всего несколько месяцев назад, взбудоражив воображение публики и провозгласив эру современных смартфонов. И хотя Google были партнёром Apple по части производства приложений, они уже представляли себе, как могло бы выглядеть будущее, не будь у iPhone конкурентов. Вик Гундотра (Vic Gundotra), вспоминая взгляд Энди Рубина на судьбу Android, рассказывает:

Он утверждал, что если бы Google бездействовали, нас ждало драконовское будущее, будущее, в котором один человек, одна компания, одно устройство, один оператор стали бы нашим единственным возможным выбором.

Google ужасала перспектива того, что Apple будет контролировать нишу мобильных устройств. Поэтому для борьбы с iPhone в условиях отсутствия какого-либо надёжного плацдарма в мобильном мире был запущен Android — проект с открытым исходным кодом.

Read more

Уже достаточно давно я выяснил, что оптимальным методом фильтрации SMS-спама для меня является отсев сообщений с номеров, которых нет в моей адресной книге. С этой задачей справляются многие программы, например, No Spam Sms или Simplest spam sms filter. Однако, ни одна из них не свободна. Решил исправить этот недостаток, попутно собрав в одной программе все необходимые мне функции:

  • Беззвучное уведомление о сообщениях с незнакомых номеров с занесением их в отдельный список;
  • возможность добавления отправителя в адресную книгу;
  • удаление или отправка сообщения во входящие.

Программа не работает в фоне, а запускается только при поступлении новых SMS (разумеется, список заблокированных сообщений можно открыть когда вздумается).

Read more

Со времён старого доброго 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: Переписал всё с нуля, теперь должно работать везде.