Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode

Пластилиновый мультик

Сделали с дочей мультик из пластилина. Делается так: convert -delay 20 -loop 0 *.jpg mygif.gif Вот результат: Еще полезное: Сделать из кадров ролик: convert -delay 20 -loop 0 *.jpg mympg.mpg MOV из gif: convert mygif.gif mymov.mov Видео на YouTube: Смотреть на YouTube

Топ 7 ботов за сутки

По результатам выборки из логов сервера за 1 сутки. Googlebot — 43 229 запросов YandexDirect — 21 260 Mediapartners-Google — 14 386 Mail.RU_Bot — 13 715 YandexBot — 13 079 AhrefsBot — 11 997 openstat ru/Bot — 2 709 Выводы: Гугл предсказуемо обошёл всех и вся. Честь и хвала ему. Удивил Mail.RU, который обошёл Яндекс. Что касается Яндекса, то очевидно, что приоритет Яндекса — их рекламная сеть. И уже потом поисковые технологии.
Read full post gblog_arrow_right

Google Chrome и "-" 400 0 "-" "-"

Еще раз к вопросу откуда в логах берутся строки вида: 1.1.1.1 - - [19/Jan/2013:07:19:23 +0400] "-" 400 0 "-" "-" При медленном соединении удалось отловить эффект появления таких записей в браузере и увидеть все вживую. Вот тут видно, как Chrome отправил два запроса, держит соединение открытым, а потом закрывает: А секундой позже уже загружает то, что его просили. Успел сделать снимки экрана. Повторить эксперимент можно либо подключившись к медленному каналу, либо намеренно ограничив скорость соединения на стороне веб-сервера.
Read full post gblog_arrow_right

Баним ботов. Часть 2

Небольшой анализ логов сервера. Какие странные сущности обитают в Интернете. И как с ними бороться. Открытые подключения В логах nginx’а обнаружил десятки тысяч записей вида: 1.1.1.1 - - [19/Jan/2013:07:19:23 +0400] "-" 400 0 "-" "-" 1.1.1.1 - - [19/Jan/2013:07:19:23 +0400] "-" 400 0 "-" "-" 1.1.1.1 - - [19/Jan/2013:07:19:23 +0400] "-" 400 0 "-" "-" 1.1.1.1 - - [19/Jan/2013:07:19:34 +0400] "-" 400 0 "-" "-" 1.1.1.1 - - [19/Jan/2013:07:19:34 +0400] "-" 400 0 "-" "-" 1.
Read full post gblog_arrow_right

Баним ботов. Часть 1

В один прекрасный день мне надоело видеть у себя в логах такое вот безобразие: 113.204.67.51 - - [19/Jan/2013:07:22:08 +0400] "GET /phpmyadmin/ HTTP/1.1" 404 564 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)" 113.204.67.51 - - [19/Jan/2013:07:22:12 +0400] "GET /PMA/ HTTP/1.1" 404 564 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)" 113.204.67.51 - - [19/Jan/2013:07:22:17 +0400] "GET /pma/ HTTP/1.1" 404 564 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)" 113.204.67.51 - - [19/Jan/2013:07:22:17 +0400] "GET /admin/ HTTP/1.
Read full post gblog_arrow_right

Как в PHP узнать протокол (https)

Оказывается, узнать, что сайт использует SSL и страница открыта по протоколу https — не настолько тривиальная задача, чтобы решить её с наскока. Однако, решение оказалось достаточно простое. Проблема заключается в том, что для определения протокола могут быть использованы переменные: $_SERVER['HTTPS'] $_SERVER['HTTP_SCHEME'] $_SERVER['HTTP_X_FORWARDED_PROTO'] И косвенно: $_SERVER['SERVER_PORT'] Но все эти переменные, кроме номера порта, почти наверняка будут отсутствовать. Определять http-схему, основываясь только на номере порта — приемлемое, но не очень гибкое решение.
Read full post gblog_arrow_right

Мозаика из фотографий с помощью convert (ImageMagick)

Из фотографий или картинок одинакового размера можно сделать мозаику. Получается интересный эффект. Для этого я написал два bash-скрипта. Первый уменьшает размеры фотографий, второй делает из миниатюр мозаику. Скрипт для уменьшения фотографий #!/bin/bash SW=150 SH=150 FROMDIR="fromdir" TODIR="todir" for name in $(ls $FROMDIR); do convert -resize ${SW}x${SH} -strip $FROMDIR/$name $TODIR/$name done Здесь: SW — ограничение ширины миниатюры; SH — ограничение высоты миниатюры; FROMDIR — каталог, в котором находятся фотографии; TODIR — каталог, в который будут сложены миниатюры.
Read full post gblog_arrow_right

Установка Redis via unix.socket

О том, как установить Redis в качестве сервера на Linux и обращаться к нему через Unix.socket По мотивам куцей доки: http://redis.io/topics/quickstart и http://redis.io/download От рута делаем: mkdir /usr/src/redis cd /usr/src/redis wget http://redis.googlecode.com/files/redis-2.4.4.tar.gz tar xzf redis-2.4.4.tar.gz cd redis-2.4.4 make && make test Если тесты прошли нормально (должно быть написано что-то вроде этого: “\o/ All tests passed without errors!"), то двигаемся дальше. mv ../redis-2.4.4.tar.gz ./redis-2.4.4.tar.gz cp src/redis-server /usr/local/bin/ cp src/redis-cli /usr/local/bin/ mkdir /etc/redis mkdir /var/redis Далее в доке предлагается сделать cp utils/redis_init_script /etc/init.
Read full post gblog_arrow_right

Библиотека для загрузки фотографий на сайт

transImage — это PHP библиотека для простой загрузки фотографий на сайт. Она умеет: Получать изображение из файла, автоматически нормализовать его размер для экономии памяти Автоматически поворачивать исходное изображение по данным Exif Создавать копии себя с изменёнными размерами, изменять свой размер Наносить водяные знаки. Поддерживает любые водяные знаки, соответствующие интерфейсу waterMark (см. код) Выводить результат клиенту или сохранять его в файловую систему Подкладывать белый фон, если исходное изображение поддерживает прозрачность Быстро создавать миниатюру для предпросмотра, используя миниатюру из Exif Преобразовывать изображения в строку для использования их с data:URI.
Read full post gblog_arrow_right

Замена салонного фильтра на Fiat Albea

Для замены салонного фильтра понадобятся: фильтр крестовая отвертка фонарик тряпка под коленки хорошая погода Операция занимает 15 минут. Перед входом со стороны переднего пассажира лучше бросить тряпку, потому что, чтобы добраться до фильтра, придётся встать на колени и залезть под бардачок. Фильтр находится под бардачком. Крепится двумя шурупами. Следующие две фотографии должны сподвигнуть увидевших их на срочную замену фильтра в своей машине. Я не менял фильтр два года.
Read full post gblog_arrow_right