Select like a Boss для Safari
Проблема выделения текста внутри ссылки на движках Webkit/Blink уже существует давно. Лично для меня. Как-то я пропустил, что она может быть решена с помощью расширения для браузера. Нашёл такое расширение, называется Select like a Boss. Но оно только для Firefox, Opera (Blink) и Chrome. Т.к. на гитхабе были найдены исходники расширения для Chrome - я просто взял js-код и запаковал его в расширение для Safari. Теперь я счастлив и могу нормально выделять текст внутри ссылок :)
Исходники + ссылка на скачивание: GitHub.
comment commentsGeohash - что это и где он может пригодиться.
Давно хотел написать пост про Geohash. Несколько лет у меня лежат скрины к нему, но всё руки не доходили.
Не буду особо расписывать про него, это будет больше формата заметки пост.
comment commentsVivaldi - новый браузер по мотивам Opera
Просто оставлю тут пост радости. Ура, молитвы/просьбы/взывания тех, кто любит старый браузер Opera, наконец услышаны. Один из создателей старой Оперы запилил новый браузер. Он современный, на Chromium, но уже сделано много всего из того, что было в старой Опере, в плане интерфейса и юзабилити. Подробнее я всё разобрал на Хабре. Пока он местами сыроват, но уже сейчас радость и счастье наполнили этот мир :) Буду следить и пользоваться. Ура!
comment commentsЗаметка про сессии в PHP и Garbage Collector
Неприятную штуку тут на одном из рабочих серваков обнаружил.
Исторически сложилось, что при старте PHP-движка сайта выставляется значение:
session_save_path( PATH_TMP );
ini_set( 'session.gc_maxlifetime', 1800 );
То бишь у нас кастомная директория для хранения сессий, и время жизни ей выставлено в полчаса для garbage collector.
На сервере используется php-fpm. Обнаружил проблемы в логах - будто бы место закончилось на диске. Хотя его ещё дофига. Сразу мысль - где-то дофига файлов мелких насоздавалось. Как оказалось - не стирались файлы сессий в нашей кастомной директории. Стал копаться - на php.net нахожу параметр session.gc_probability, который в php.ini должен быть выставлен в 1 - это вероятность того, что при выполнении скрипта запустится ещё и garbage collector.
В подсказках пользователя запись, что Debian выставляет этот параметр в 0. Гугление говорит, что это связано с выставленными на дефолтную папку /var/lib/php5 правами, которые не позволяют php-шному garbage collection очищать старые файлы оттуда. То есть он отрубает garbage collector у php и вроде как от рута запускает какое-то своё cron-задание для очистки. Ищет он файлы, похоже, в стандартной директории, а т.к. оно не совпадает с нашей директорией PATH_TMP - то сессии не удалялись.
Вот такие пироги. Выход - либо настроить своё cron-задание для очистки, например:
0,30 * * * * find /path/to/tmp -mmin +30 -exec rm {} \;
Либо в php.ini прописывать дефолтную папку. Но, например, если на сайте 2 проекта, которые используют разные временные папки для хранения сессий, то тут уже придётся для обоих как-то что-то настраивать.
Либо при старте скрипта добавить строчку: ini_set('session.gc_probability', 1);
Лично мне больше нравится своё cron-задание. Хотя может и добавление ещё одной строчки в скрипт - лучше, т.к. на будущее может избавить от этой проблемы. Хотя cron как-то кажется надёжнее. Осталось придумать теперь, как мне удалить накопившиеся за 6 месяцев файлы. Midnight Commander часа 2 у меня сканировал папку. Когда счётчик перевалил за 49 миллионов - я забил на сканирование, поставил удаление и пошёл спать.
Такие дела.
comment commentsfunky-play 1.2
Обновил расширение для Safari. Теперь выводится 5 релизов на панели вместо 3. Ну и дизайн теперь в стиле Safari 8.
comment commentsTELE2 запустил 3G в Питере
Ура, наконец-то это свершилось. Сегодня TELE2 запустили 3G в Питере. Будут всем постепенно включать в течение 3 недель, но если не терпится - можно позвонить по номеру 611 и попросить оператора включить сейчас. Оставлю этот скрин тут, чтобы через пару месяцев замерять скорость снова и сравнить - улучшилось ли или ухудшилось :) Говорят, летом 2015 года хотят запустить LTE. Наконец-то прогресс добрался и до TELE2.
comment comments