FastNetMon

Monday, 5 October 2009

Импорт osm в PostgreSQL

Cтягиваем карту России, вырезанную из planet.osm:
Сайт автора: http://osm.tesoro-shop.ru/
wget http://osm.tesoro-shop.ru/russia.osm.bz2
bunzip2 russia.osm.bz2
cat russia.osm | osm2pgsql - --username=my_db_user --password --database=my_test_database --host=127.0.0.1 --slim

Параметр slim предназначен для снижения потребления памяти; без него у меня карта не импортировалась даже на 4+ гб памяти, а cat чтобы программа не вылетала из-за большого размера файла.

Деплоймент OpenStreetMap на собственном сервере

Пошагово:
http://phpsuxx.blogspot.com/2009/03/centos-rhel.html
http://phpsuxx.blogspot.com/2009/10/osm2pgsql-centos.html
http://phpsuxx.blogspot.com/2009/03/postgresql-8-startup.html
http://phpsuxx.blogspot.com/2009/10/osm-postgresql.html
http://phpsuxx.blogspot.com/2009/10/mapnik-openstreetmap.html

Сборка osm2pgsql на Centos и Debian из исходников

yum -y install subversion gcc make geos-devel libxml2-devel bzip2-devel proj-devel gcc-c++ libpqxx-devel
apt-get install -y libgeos-dev libxml2-dev libpqxx-dev libbz2-dev
cd
svn co http://svn.openstreetmap.org/applications/utils/export/osm2pgsql/
cd osm2pgsql
make
./osm2pgsql


Ну вот и все :)

А на Debian 5 ещё проще, но старая версия не будет работать с новым Mapnik:
apt-get install -y osm2pgsql

Friday, 2 October 2009

Yahoo Pipes

Вот таким доступным должно быть программирование в 21 веке: http://pipes.yahoo.com/pipes/

Thursday, 1 October 2009

Tuesday, 15 September 2009

this == NULL ?


#include <iostream>

class suxx {
public:
void m() {printf("call! num %d ptr %p", this, this);}
};

int main() {
suxx* o = new suxx;

o->m();
o = NULL;
o->m();

return 0;
}


И Вы тоже не ожидали?

./a.out
call! num 72347664 ptr 0x44ff010call! num 0 ptr (nil)

Tuesday, 8 September 2009

Как скачивать SRC RPM для Epel


sudo yum install yum-utils
yumdownloader --enablerepo=epel-source --source nginx


В итоге в текущей папке обнаружим файлик: nginx-0.6.38-1.el5.src.rpm

Sunday, 6 September 2009

Рекурсивно сравнить две директории

Вот так:
diff -Naur nginx36/nginx-0.6.36/ nginx38/nginx-0.6.38/


Кстати, как раз такие патчи обычно используются в rpm.spec ах.

Thursday, 3 September 2009

Установка Nginx на ISPManager + Centos5

Подключаем репо EPEL:
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm


Обновляем список пакетов в репозиториях (на CentOS без этого Nginx часто не появляется):
yum update


Очищаем кэш пакетов ISPManager:
/usr/local/ispmgr/sbin/pkgctl -D cache

Рестартим ИСП:
killall -9 -r ispmgr

Ставим Nginx: в ISPManager идем в пункт "Features" и там устанавливаем Nginx. После установки убеждаемся, что 8080й порт обслуживается Апачем, а 80й Nginx.


Следующий мануал НЕ работает, не использовать.

Или прямо в консоли ставим и активируем:

/usr/local/ispmgr/sbin/pkgctl install nginx
/usr/local/ispmgr/sbin/pkgctl activate nginx
killall -9 -r ispmgr


Либо делаем так (нифика не работает, в процессе отладки):

wget http://fastvps.googlecode.com/svn/trunk/scripts/install_nginx_ispmanager.sh
sh install_nginx_ispmanager.sh

Активация mod_rewrite на Debain 5 Lenny

a2enmod rewrite
Enabling module rewrite.


Для Дебияна:
/etc/init.d/apache2 restart