node-couchdb-mover

На днях написал свою первую тулзу Node.Js. Писал лишь отчасти для себя, т.к. для меня она пока не очень актуальна, а вот кое для кого даже очень.
Тулза для CouchDB. Т.к. CouchDB хранит после изменений/удалений документов ревизии и не всегда их очищает, бывает, что база адски растёт в размере. Например, у ребят, для которых эта тулза актуальна сейчас, то, что должно весить 6 гигов, весит 50-60. Может быть они где-то запустили что-то или накосячили, понаменяв и понаписав кучу всего в базу, чем люто увеличили её размер. В общем, проще просто создать новую чистую базу и перенести туда все живые документы.
Тулза просто берёт все документы из 1 базы в CouchDB, и кладёт их в другую. Работает пока довольно топорно, берёт все документы скопом и потом по 1 кладёт в базу. Для баз с относительно небольшим количеством документов работает нормально, а вот если их там тысяч этак 80, то у меня на компе получение документов длилось около 4-5 минут. Поэтому переделаю её вскоре, чтобы брала документы пачками и фигачила внесение в базу не асинхронно, а по очереди.
Но пока пользоваться можно. Тулзу можно встроить, например, в свой Node.Js проект.
В консоли:
npm install node-couchdb-mover
В коде:
var mover = require('node-couchdb-mover');
mover.moveDocuments('dbName1', 'dbName2');
Кроме того, её можно использовать прямо из консоли:
npm install -g node-couchdb-mover
couchdb-mover --from=dbName1 --to=dbName2
Ну, и как это положено, исходники на гитхабе | пакет на npmjs.org.
Как узнать ретина дисплей или нет?

Ко мне в блог много заходов из поисковиков по запросам вроде «Как определить дисплей retina». Попадают они ко мне на статью про Objective-C, но ищут они явно не код :) Запилил в итоге такую вот страничку, на которую надо просто зайти через браузер с вашего устройства. Если ретина - результат будет зелёным, как на скрине выше. Если не ретина - то красный, как на скрине ниже.

Работает для iOS-устройств (iPhone, iPad, iPod) и Mac с экраном Retina. На экранах с высокой плотностью пикселей на дюйм тоже пишет, что retina :)
Адрес страницы: https://arm1.ru/retina/
Клиент Linode для iPhone
Пользуюсь уже несколько лет услугами хостера Linode.com, где держу свою VPS-ку с сайтами/проектами и для всяких личных целей.
У них есть API, на основе которого, как я понимаю, они сделали клиент для iPhone.
Клиент это, по-моему, просто перекрасен.

Шпаргалка при настройке nginx+php-fpm из homebrew
Если после настройки nginx и php-fpm для работы через php5-fpm.sock выдаётся ошибка у Nginx: 502 bad gateaway и в логе пишется что-то вроде:
*20 connect() to unix:/usr/local/var/run/php5-fpm.sock failed (2: No such file or directory) while connecting to upstream
То проблема с правами решается:
cd /usr/local/var/run
sudo chmod 666 php5-fpm.sock
Если это помогло, но в /usr/local/etc/php/5.5/php-fpm.conf надо раскоментить строчку:
listen.mode = 0666
Обновление айМетрик 1.1
Сегодня вышло обновлений айМетрика. Основные нововведения - вкладка Посетители с отчётами по полу, возрасту и географии, и вкладка с целями, в которой есть все те же самые отчёты, но по целям и с дополнительными параметрами вроде достижения цели, конверсия и др.
Плюс поправил пару косяков.
айПодписки - клиент для Яндекс.Подписок для iPad
Давно хотел написать это приложение. Странно, но с тех пор, как 8 месяцев назад Яндекс открыли API для Яндекс.Подписки в честь закрытия Google Reader, не появилось ни одного клиента для iOS. А иметь такое приложение мне и самому хотелось. Начал читать новости дома за чашкой чая, потом продолжил в iPad читать в дороге - все прочитанное уже отмечено как прочитанное, красота. Да и в целом мне удобнее читать новости с iPad. Как-то, web-версия подписок не особо быстро работает.
В приложении можно не только читать новости и делиться ими в соц. сетях или добавить в Список для чтения в Safari, но и управлять подписками - добавлять новые новостные ленты и удалять уже добавленные.
Нет приложения - напиши сам :) Приложение бесплатное.
