Post archive

How to index mixed-language content with Lunr.js
August 9, 2015, revised April 11, 2017

OAuth2 is easy - illustrated in 50 lines of Clojure
July 30, 2015

Some custom git commands that I use
July 30, 2015, revised December 4, 2015

What separates software consultancy from engineering? Breadth of vision
July 13, 2015

A formal prover for certain programs in the Javascript programming language
This thesis is concerned with developing an automatic system for sound formal proofs of programs written in a certain imperative subset of Javascript with logical annotations.
July 6, 2015

Blog article versioning in Ruby on Rails - a post mortem
March 28, 2015

Blog comments in Ruby on Rails - a post mortem
March 27, 2015

Best practice: use your global .gitignore
I was setting up a new project yesterday, and it was missing a .powenv file I needed for Pow to work.
April 15, 2014

Fix for Raspberry Pi / ODROID silently failing to boot
If you have USB drives in your /etc/fstab and your Linux system fails to boot after registering in the network, try this:
April 14, 2014

No SSL, no problems
Two days ago it turned out that never getting around to setting up HTTPS access to my websites actually made them more secure.
April 9, 2014

Grapher
На Маке нет встроенного графического редактора а-ля Microsoft Paint, зато есть встроенная программа для построения графиков – Grapher.
March 30, 2014

Сравнение ODROID-U3 и Raspberry Pi
Если хочешь поиграться, рекомендую Raspberry Pi. Если хочешь собрать домашний сервер, который умещается в мыльнице, не шумит и сказывается на счете за электричество, выбирай ODROID U3.
March 14, 2014

Чтобы выделить на что-то время, нужно у чего-то его забрать
Чему меня научил недельный эксперимент по учету потраченного времени.
March 14, 2014

Отзыв о доставке кофе с Square Mile Coffee Roasters
Уже два месяца мне присылают кофе из Square Mile Coffee Roasters, что в Лондоне.
March 9, 2014

Советы по выбору фильтровой кофеварки
March 9, 2014

Кофейная зависимость
Люди обычно бросаются словами «кофейная зависимость», как будто они ничего не значат.
March 5, 2014

Be so kind and warn users before navigating from an unsaved form
I lost the text of the article I was just writing because I accidentally hit the Chrome shortcut for “Back” – Cmd+[ – it’s the same key that un-indents text in Sublime Text. So now I’m writing this new article after fixing my form.
March 2, 2014

How to use PaperTrail for soft-deletion
PaperTrail is the leading Ruby gem for ActiveRecord versioning. A less known fact is that once you use PaperTrail, you also get undeletion for free.
February 28, 2014

Memcached expiration time: a horrible API fail
The description of the memcached protocol says that the expiration time:
February 26, 2014

Some of my chef definitions that help deploy Rails apps
I DRYed up my Chef deploy scripts and extracted some definitions in to a cookbook: chef-rails-helpers.
February 26, 2014