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

Recently I’ve visited Kanonersky island. While it’s located close to the centre of St. Petersburg, it’s mostly industrial and a huge chunk of it is pretty much a wasteland with occasional garbage piles here and there.
Before Peter the Great decided to build a city here the Finns called it Kissasaari (“cats’ island”). Later it became Kanonersky island after the word “cannoneer”: there was gunpowder storage and training grounds there.

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

My old trusty hardtail is still in good shape (with many components changed or upgraded during these 8 years). Yet “M” sized frame seems a little too small for me (I’m 183 cm high) and the promised wonders of full suspension are hard to resist. So I smashed my piggy bank and bought me a Norco Fluid 9.2 (2015).
Norco Fluid 9.2
The weirdest thing about it for me is that it’s a 29er. I was very skeptical about this standard but now that the prices are pretty much the same it’s not an issue any more. Anyway, if there’s any advantage of 29er over 26er, it’s probably too subtle for me to feel.
Which is not the case with rear suspension. It’s amazing and makes a lot of difference, especially on rooty forest trails. The fork (120 mm RockShox XC-32) is a bit of a disappointment though, not feeling any better than coil XC-30 I have on my old bike.
The plan now is to turn my old bike into more city-oriented commuter. Another issue to deal with is dirt. While I pretty much solved the problem on my old bike, it’s a mess on a new one, even with SKS Shockblade II/X-Blade II combo. The rear shock, the bottom bracket, my shoes and feet are covered with dirt after getting into the smallest puddle, and we don’t have many dry days around here.

Bitcoin Core, the “full” Bitcoin client, uses a lot of disk space to store the blockchain. I use GdMap to clean up my SSD and was recently shocked to see how many GBs are occupied by those files. So I decided to join the dark side and switch to a lightweight wallet. There are several of them around of which I chose Electrum. The only trouble I had were my old (donation) addresses that are too much of a hassle to change. I seem to have solved this problem by creating a second wallet in Electrum and here’s how I made it:
First, I imported private keys for all needed addresses from Bitcoin Core. In Debug Console I typed dumpprivkey "

" for every address I wanted to keep.
Then, I started up Electrum, selected File — New/Restore and entered all the keys I obtained in previous step. If you do that, pay attention to all warnings and remember to backup this wallet — you won’t be able to recover it with your seed.
After that I was able to use my old addresses to receive and send Bitcoins in Electrum. Minus the gigabytes of blockchain data.

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 - plasma wallpaper 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. :)

Let's Encrypt
It’s finally here. Well, it’s still in beta and invite-only, but it works. Let’s Encrypt will give you free trusted certificate for your HTTPS server and provide an easy script to verify, obtain and renew it.
So far only Apache is fully supported, so if you use NGINX or Lighttpd you’ll have to configure it manually. Which is not a big deal, especially if you were using TLS with self-signed certificate before.
The only trick was that one has to use fullchain.pem for ssl_certificate in NGINX config (possibly the same applies to Lighty). After that the certificate was accepted by all my browsers on both Linux and Android:

Перевод статьи «Don’t make bicyclists more visible. Make drivers stop hitting them».

Не надо делать велосипедистов заметнее. Не давайте водителям их сбивать.

Законы об обязательном ношении шлема и световозвращающая краска всего лишь показывают, кому на самом деле принадлежат дороги.
Эбен Вайс, 15.04.2015

Велополоса, на которой, если вам повезёт, автомобили не попытаются вас сбить. Возможно. (Мэтт МакКлейн для The Washington Post).

Около ста лет назад автомобильная индустрия провернула ловкий трюк: она украла у нас дороги общего пользования.
Дело в том, что на заре автомобилестроения бытовало старомодное представление о том, что человек, управляющий огромным движущимся механизмом должен беспокоиться о безопасности других людей. Потом началось массовое производство, и появилась Model T [первый массовый автомобиль Ford – прим. пер.]. Внезапно машины заполонили всё вокруг, и к концу 1920-х автомобили (а точнее, их водители) уже убили более 200000 человек.
Read more

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

Нарисовалась кнопка пожертвования в биткойнах, вдруг кому пригодится. За основу взята графика с Bitcoin Wiki (Creative Commons Attribution 3.0).
Bitcoin donate button
Source (600×229 GIMP XCF): bitcoin_donate.xcf