Using vimdiff as git diff tool

git config --global diff.tool vimdiff
git config --global difftool.prompt false
git config --global alias.d difftool

Typing git d yields the expected behavior, type :wq in vim cycles to the next file in the changeset.

Ubuntu rvm

В свой последний приезд Лёня Лукин подкинул книженцию по rails. Вроде как дошли руки ее пощупать, но меня поджидал фэил в самом начале пути.

Установил ruby-rvm на Ubuntu 12.04. Начал инсталлить ruby и gems  согласно инструкции.

rvm install 1.9.2

Фигакс, сообщает мне под конец, что установка не удалась посмотрите log.

ERROR: Error running ‘make ‘, please read /usr/share/ruby-rvm/log/ruby-1.9.2-p180/make.log
ERROR: There has been an error while running make. Halting the installation.

Смотрю log. Обнаруживаю там следующую запись.

ossl_ssl.c:110:1: ошибка: «SSLv2_method» undeclared here (not in a function)
ossl_ssl.c:111:1: ошибка: «SSLv2_server_method» undeclared here (not in a function)
ossl_ssl.c:112:1: ошибка: «SSLv2_client_method» undeclared here (not in a function)
make[1]: *** [ossl_ssl.o] Ошибка 1
make[1]: Выход из каталога `/var/cache/ruby-rvm/src/ruby-1.9.2-p180/ext/openssl’
make: *** [mkmain.sh] Ошибка 1

Как же я ненавижу ваш linux, мелькнуло в голове. Дальнейший алгоритм понятен, ищем в Гугле решение.

 # don’t use ubuntus openssl 
rvm pkg install openssl 
rvm install 1.9.2 —with-openssl-dir=$rvm_path/usr
Вива, Кальман. Фокус удается. 
Оригинал решения здесь

Wtf debian-sys-maint?

Переносили базы mysql в debian из другой опрерационной системы или повредили базу с названием «mysql», или имели счастье установить ее заново? ) Поздравляю, возможно у вас теперь появилась такая вот проблема:

debatest:~# /etc/init.d/mysql restart Stopping MySQL database server: mysqld. Starting MySQL database server: mysqld. Checking for corrupt, not cleanly closed and upgrade needing tables.. /usr/bin/mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)' debatest:~# /usr/bin/mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'

Как это исправить? И что это вообще за пользователь такой? Итак, открываем /etc/mysql/debian.cnf находим в нем строку password, запоминаем — это пароль пользователя debian-sys-maint, нужного для запуска хотя-бы проверки таблиц при старте сервера. Заходим в клиента mysql и выполняем два запроса:

GRANT RELOAD, SHUTDOWN, PROCESS, SHOW DATABASES, SUPER, LOCK TABLES ON *.* TO ‘debian-sys-maint’@’localhost’ IDENTIFIED BY ‘— тут пишем его пароль —‘;
GRANT ALL PRIVILEGES ON *.* TO ‘debian-sys-maint’@’localhost’ IDENTIFIED BY ‘— тут пишем его пароль —‘ WITH GRANT OPTION;

После этого ошибка исправляется и мы плывем дальше. )

Оригинал: http://www.liveinternet.ru/users/stasikos/post80304705/

Потеря сессии в IE

Пришлось столкнуться с идиотическим багом, портящим кровь. Информации по нему не так много, поэтому публикую на всякий случай.

Предыстория:
Руководитель проекта сообщил, что пользователь жалуется. Он логинится, передвигается по сайту и вдруг оказывается снова на странице авторизации. Проверили production-сервер и development . Никаких проблем не обнаружили. Но при добавлении очередной фичи , понадобилось проверить production-сервер в IE. И вот оно… Все как говорил пользователь, проходишь авторизацию, начинаешь бродить или даже просто делать refresh страницы — оказываешься на странице аутентификации, куда попадает только незалогиненный пользователь. Делаем вывод, куда-то потерялась сессия. Причем, проблема повторялась на всех доступных версиях IE.

Проверяю на development-сервере и на рабочей машине. Проблем нет. Значит дело 100% не в коде, нужно смотреть настройки сервера. Начинаю искать проблему. В основном попадается околотхенический бред. В конце концов натыкаюсь на то, что нужно.

http://swfupload.org/forum/generaldiscussion/1206

http://simply.com.au/blog/2009/11/flash-uploader-drops-the-session-in-internet-explorer/

Рецепт прост, меняем конфигурацию патча для php suhosin:

suhosin.session.cryptua = off
suhosin.session.encrypt = off

Если вы не имеете доступ к php.ini, вы можете внести эти изменения через .htaccess или в самом коде через ini_set

По умолчанию эти опции включены. То бишь, проблемы возникли именно из-за suhosin и его шифрования сессии на уровне движка php. К сожалению не нашел более полного описания этой проблемы и возникает она не со всеми версиями. На машине, где возникла проблема стоял suhosin patch 0.9.32.1 На моей рабочей машине 0.9.10, на ней никаких проблем не возникает.

Как правильно перемещать новую ветку на удаленный git репозитиорий и с него

Чтобы закинуть новую ветку на удаленный репозиторий:

git push origin newbranch

Чтобы забрать ветку, не забываем сделать 

git pull

а затем

git checkout -b newbranch origin/newbranch

CentOS ImageMagick

Много раз я брался инсталлить на своем серваке ImageMagick. Делал это через yum и погружался в долгие чтения репортов о вылетающих ошибках. Пока наконец не наткнулся на волшебную заметку.

Installing ImageMagick on a centos vps

Unfortunately installing imagemagick can cause some issues

If you get the message «Error: Missing Dependency: udev >= 089-1 is needed by package hal»

DO NOT INSTALL UDEV, udev is known to cause problems with deleting entries in /dev, instead you can install from source yum install make

wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-6.4.0-9.tar.gz
tar xvfz ImageMagick-6.4.0-9.tar.gz
cd ImageMagick-6.4.0-9/
./configure && make && make install

М-да, сказал я себе, самый стабильный дистрибутив говоришь…. Хм. И заправив рубашку в трусы сел и проинсталли за 6 минут то, что не мог проинсталлить почти год.

Попутно при тесте выскочила ошибка

convert: error while loading shared libraries: libMagickCore.so.2: cannot open shared object file: No such file or directory

решил проблему добавив в /etc/profile

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

ZFConf 2010


Сегодня вернулся с конференции по Zend Framework из Питера, на которой был с Лёней Лукиным . О плюсах, на конференции присутствовал и делал доклад Александр Веремьев, одни из основных разработчиков фреймуорка. Хотя мы с Леней к стыду признаться, слегка не выспались (последствия подготовки в вагоне-ресторане Красной стрелы) и голос Саши немного убаюкивал, можно точно сказать, что Сашино участие и доклад о порядке добавления proposals удержали конференцию на уровне конференции.

Так же, на достаточно хорошем уровне прошел доклад Александра Махомета , создателя российского ресурса посвященного ZF. Доклад об оптимизации производительности Zend Framework. Посмешила школота с первых рядов натужно возмутившаяся некоторым выводам. «Как так, а великий Котеров говорил…». Кто он вам этот студибейкер? Дядя ваш? Ребят, мы программисты, а не члены политбюро. Тут авторитет данных выше любого человеческого авторитета. Человек предоставил вам конкретные данные, раскрыл условия, в которых они были получены. Вы не верите, организуйте свои исследования — опровергните. «А великий Котеров 10 000 лет назад писал…» , да поцелуйтесь вы со своим Котеровым. Дима. если ты это читаешь, извини 🙂

Местами мы с Леней расходимся в понравившихся докладах. Ему, например, понравился докладчик Е-штаба. Я же, хотя тема затронута важная, похвалить доклад не могу. Человек показал элементарное непонимание разницы между проблемами php и проблемами фреймуорка. Если человек плохо понимает элементарные моменты в php есть подозрение, что и в Python он тоже не преуспеет. Я работаю и с Django и ZF. У Python и PHP разные языковые парадигмы, ставить одному в укор какие-то моменты другого неуместно, тем более решать проблемы на уровне фреймуорка, а не языка. Чуть позже отпишусь по основным ошибкам «критики».

О смешном, список замечательных речевых оборотов:
фреймвёрк (германские корни видать),
мАйсикал (I want to ride my мАйсикал! Квины трепещите.),
пропосАлы (наверное это было своебразной подводкой к тому, что следующая конференция будет в Харькове)

З.Ы. Прошу рощения, впечатлений много, поэтому статью буду еще дописывать.

Ubuntu — Python Twisted

 

 

Из-за дефицита памяти на рабочем компе пришлось заменить Fedora на Ubuntu. При установке стандартного набора прог на этапе установки Twisted вылетела ошибка

Python.h: No such file or directory

Проблема была решена быстро установкой пакета с заголовками для разработки на Питоне

sudo apt-get install python-dev